diff --git a/package.json b/package.json index 192dd8f..cf799ab 100644 --- a/package.json +++ b/package.json @@ -21,9 +21,10 @@ }, "dependencies": { "async": "^0.9.0", - "resource-loader": "^1.3.0", "brfs": "^1.2.0", - "eventemitter3": "^0.1.6" + "eventemitter3": "^0.1.6", + "extend": "^2.0.0", + "resource-loader": "^1.3.0" }, "devDependencies": { "browserify": "^8.0.2", diff --git a/package.json b/package.json index 192dd8f..cf799ab 100644 --- a/package.json +++ b/package.json @@ -21,9 +21,10 @@ }, "dependencies": { "async": "^0.9.0", - "resource-loader": "^1.3.0", "brfs": "^1.2.0", - "eventemitter3": "^0.1.6" + "eventemitter3": "^0.1.6", + "extend": "^2.0.0", + "resource-loader": "^1.3.0" }, "devDependencies": { "browserify": "^8.0.2", diff --git a/src/core/index.js b/src/core/index.js index dcbf19d..2134d92 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -5,12 +5,15 @@ * @license {@link https://github.com/GoodBoyDigital/pixi.js/blob/master/LICENSE|MIT License} */ +var extend = require('extend'), + utils = require('./utils'); + /** * @namespace PIXI */ -var core = module.exports = { +var core = { // utils - utils: require('./utils'), + utils: utils, math: require('./math'), CONST: require('./const'), @@ -74,7 +77,7 @@ width = width || 800; height = height || 600; - if (!noWebGL && checkWebGL()) + if (!noWebGL && utils.isWebGLSupported()) { return new core.WebGLRenderer(width, height, options); } @@ -83,32 +86,5 @@ } }; -// add constants to export -var CONST = require('./const'); - -for (var c in CONST) { - core[c] = CONST[c]; -} - - -var contextOptions = { stencil: true }; - -function checkWebGL() -{ - try - { - if (!window.WebGLRenderingContext) - { - return false; - } - - var canvas = document.createElement('canvas'), - gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); - - return !!(gl && gl.getContextAttributes().stencil); - } - catch (e) - { - return false; - } -} +// export core and const. We extend into const so that the non-reference types in const remain in-tact +module.exports = extend(require('./const'), core); diff --git a/package.json b/package.json index 192dd8f..cf799ab 100644 --- a/package.json +++ b/package.json @@ -21,9 +21,10 @@ }, "dependencies": { "async": "^0.9.0", - "resource-loader": "^1.3.0", "brfs": "^1.2.0", - "eventemitter3": "^0.1.6" + "eventemitter3": "^0.1.6", + "extend": "^2.0.0", + "resource-loader": "^1.3.0" }, "devDependencies": { "browserify": "^8.0.2", diff --git a/src/core/index.js b/src/core/index.js index dcbf19d..2134d92 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -5,12 +5,15 @@ * @license {@link https://github.com/GoodBoyDigital/pixi.js/blob/master/LICENSE|MIT License} */ +var extend = require('extend'), + utils = require('./utils'); + /** * @namespace PIXI */ -var core = module.exports = { +var core = { // utils - utils: require('./utils'), + utils: utils, math: require('./math'), CONST: require('./const'), @@ -74,7 +77,7 @@ width = width || 800; height = height || 600; - if (!noWebGL && checkWebGL()) + if (!noWebGL && utils.isWebGLSupported()) { return new core.WebGLRenderer(width, height, options); } @@ -83,32 +86,5 @@ } }; -// add constants to export -var CONST = require('./const'); - -for (var c in CONST) { - core[c] = CONST[c]; -} - - -var contextOptions = { stencil: true }; - -function checkWebGL() -{ - try - { - if (!window.WebGLRenderingContext) - { - return false; - } - - var canvas = document.createElement('canvas'), - gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); - - return !!(gl && gl.getContextAttributes().stencil); - } - catch (e) - { - return false; - } -} +// export core and const. We extend into const so that the non-reference types in const remain in-tact +module.exports = extend(require('./const'), core); diff --git a/src/core/utils/index.js b/src/core/utils/index.js index 4dae982..81190cd 100644 --- a/src/core/utils/index.js +++ b/src/core/utils/index.js @@ -198,6 +198,32 @@ utils._saidHello = true; }, + /** + * Helper for checking for webgl support + * + * @return {boolean} + */ + isWebGLSupported: function () + { + var contextOptions = { stencil: true }; + try + { + if (!window.WebGLRenderingContext) + { + return false; + } + + var canvas = document.createElement('canvas'), + gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); + + return !!(gl && gl.getContextAttributes().stencil); + } + catch (e) + { + return false; + } + } + TextureCache: {}, BaseTextureCache: {} }; diff --git a/package.json b/package.json index 192dd8f..cf799ab 100644 --- a/package.json +++ b/package.json @@ -21,9 +21,10 @@ }, "dependencies": { "async": "^0.9.0", - "resource-loader": "^1.3.0", "brfs": "^1.2.0", - "eventemitter3": "^0.1.6" + "eventemitter3": "^0.1.6", + "extend": "^2.0.0", + "resource-loader": "^1.3.0" }, "devDependencies": { "browserify": "^8.0.2", diff --git a/src/core/index.js b/src/core/index.js index dcbf19d..2134d92 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -5,12 +5,15 @@ * @license {@link https://github.com/GoodBoyDigital/pixi.js/blob/master/LICENSE|MIT License} */ +var extend = require('extend'), + utils = require('./utils'); + /** * @namespace PIXI */ -var core = module.exports = { +var core = { // utils - utils: require('./utils'), + utils: utils, math: require('./math'), CONST: require('./const'), @@ -74,7 +77,7 @@ width = width || 800; height = height || 600; - if (!noWebGL && checkWebGL()) + if (!noWebGL && utils.isWebGLSupported()) { return new core.WebGLRenderer(width, height, options); } @@ -83,32 +86,5 @@ } }; -// add constants to export -var CONST = require('./const'); - -for (var c in CONST) { - core[c] = CONST[c]; -} - - -var contextOptions = { stencil: true }; - -function checkWebGL() -{ - try - { - if (!window.WebGLRenderingContext) - { - return false; - } - - var canvas = document.createElement('canvas'), - gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); - - return !!(gl && gl.getContextAttributes().stencil); - } - catch (e) - { - return false; - } -} +// export core and const. We extend into const so that the non-reference types in const remain in-tact +module.exports = extend(require('./const'), core); diff --git a/src/core/utils/index.js b/src/core/utils/index.js index 4dae982..81190cd 100644 --- a/src/core/utils/index.js +++ b/src/core/utils/index.js @@ -198,6 +198,32 @@ utils._saidHello = true; }, + /** + * Helper for checking for webgl support + * + * @return {boolean} + */ + isWebGLSupported: function () + { + var contextOptions = { stencil: true }; + try + { + if (!window.WebGLRenderingContext) + { + return false; + } + + var canvas = document.createElement('canvas'), + gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); + + return !!(gl && gl.getContextAttributes().stencil); + } + catch (e) + { + return false; + } + } + TextureCache: {}, BaseTextureCache: {} }; diff --git a/src/index.js b/src/index.js index 52b19c8..fab2ef9 100644 --- a/src/index.js +++ b/src/index.js @@ -1,23 +1,17 @@ -require('./polyfill/requestAnimationFrame'); +// run the polyfills +require('./polyfill'); -var core = require('./core'); +var extend = require('extend'), + core = require('./core'); -extendCore(require('./core/math')); -extendCore(require('./extras')); -extendCore(require('./mesh')); -extendCore(require('./filters')); -extendCore(require('./interaction')); -extendCore(require('./loaders')); -extendCore(require('./spine')); -extendCore(require('./text')); -extendCore(require('./deprecation')); - -function extendCore(obj) -{ - for(var key in obj) - { - core[key] = obj[key]; - } -} +extend(core, require('./core/math')); +extend(core, require('./extras')); +extend(core, require('./mesh')); +extend(core, require('./filters')); +extend(core, require('./interaction')); +extend(core, require('./loaders')); +extend(core, require('./spine')); +extend(core, require('./text')); +extend(core, require('./deprecation')); module.exports = core; diff --git a/package.json b/package.json index 192dd8f..cf799ab 100644 --- a/package.json +++ b/package.json @@ -21,9 +21,10 @@ }, "dependencies": { "async": "^0.9.0", - "resource-loader": "^1.3.0", "brfs": "^1.2.0", - "eventemitter3": "^0.1.6" + "eventemitter3": "^0.1.6", + "extend": "^2.0.0", + "resource-loader": "^1.3.0" }, "devDependencies": { "browserify": "^8.0.2", diff --git a/src/core/index.js b/src/core/index.js index dcbf19d..2134d92 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -5,12 +5,15 @@ * @license {@link https://github.com/GoodBoyDigital/pixi.js/blob/master/LICENSE|MIT License} */ +var extend = require('extend'), + utils = require('./utils'); + /** * @namespace PIXI */ -var core = module.exports = { +var core = { // utils - utils: require('./utils'), + utils: utils, math: require('./math'), CONST: require('./const'), @@ -74,7 +77,7 @@ width = width || 800; height = height || 600; - if (!noWebGL && checkWebGL()) + if (!noWebGL && utils.isWebGLSupported()) { return new core.WebGLRenderer(width, height, options); } @@ -83,32 +86,5 @@ } }; -// add constants to export -var CONST = require('./const'); - -for (var c in CONST) { - core[c] = CONST[c]; -} - - -var contextOptions = { stencil: true }; - -function checkWebGL() -{ - try - { - if (!window.WebGLRenderingContext) - { - return false; - } - - var canvas = document.createElement('canvas'), - gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); - - return !!(gl && gl.getContextAttributes().stencil); - } - catch (e) - { - return false; - } -} +// export core and const. We extend into const so that the non-reference types in const remain in-tact +module.exports = extend(require('./const'), core); diff --git a/src/core/utils/index.js b/src/core/utils/index.js index 4dae982..81190cd 100644 --- a/src/core/utils/index.js +++ b/src/core/utils/index.js @@ -198,6 +198,32 @@ utils._saidHello = true; }, + /** + * Helper for checking for webgl support + * + * @return {boolean} + */ + isWebGLSupported: function () + { + var contextOptions = { stencil: true }; + try + { + if (!window.WebGLRenderingContext) + { + return false; + } + + var canvas = document.createElement('canvas'), + gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); + + return !!(gl && gl.getContextAttributes().stencil); + } + catch (e) + { + return false; + } + } + TextureCache: {}, BaseTextureCache: {} }; diff --git a/src/index.js b/src/index.js index 52b19c8..fab2ef9 100644 --- a/src/index.js +++ b/src/index.js @@ -1,23 +1,17 @@ -require('./polyfill/requestAnimationFrame'); +// run the polyfills +require('./polyfill'); -var core = require('./core'); +var extend = require('extend'), + core = require('./core'); -extendCore(require('./core/math')); -extendCore(require('./extras')); -extendCore(require('./mesh')); -extendCore(require('./filters')); -extendCore(require('./interaction')); -extendCore(require('./loaders')); -extendCore(require('./spine')); -extendCore(require('./text')); -extendCore(require('./deprecation')); - -function extendCore(obj) -{ - for(var key in obj) - { - core[key] = obj[key]; - } -} +extend(core, require('./core/math')); +extend(core, require('./extras')); +extend(core, require('./mesh')); +extend(core, require('./filters')); +extend(core, require('./interaction')); +extend(core, require('./loaders')); +extend(core, require('./spine')); +extend(core, require('./text')); +extend(core, require('./deprecation')); module.exports = core; diff --git a/src/polyfill/index.js b/src/polyfill/index.js new file mode 100644 index 0000000..c6679da --- /dev/null +++ b/src/polyfill/index.js @@ -0,0 +1 @@ +require('./requestAnimationFrame');