Source: deprecation.js

deprecation.js

  1. // provide method to give a stack track for warnings
  2. // useful for tracking-down where deprecated methods/properties/classes
  3. // are being used within the code
  4. // A map of warning messages already fired
  5. const warnings = {};
  6. // provide method to give a stack track for warnings
  7. // useful for tracking-down where deprecated methods/properties/classes
  8. // are being used within the code
  9. function warn(msg)
  10. {
  11. // Ignore duplicat
  12. if (warnings[msg])
  13. {
  14. return;
  15. }
  16. /* eslint-disable no-console */
  17. let stack = new Error().stack;
  18. // Handle IE < 10 and Safari < 6
  19. if (typeof stack === 'undefined')
  20. {
  21. console.warn('Deprecation Warning: ', msg);
  22. }
  23. else
  24. {
  25. // chop off the stack trace which includes pixi.js internal calls
  26. stack = stack.split('\n').splice(3).join('\n');
  27. if (console.groupCollapsed)
  28. {
  29. console.groupCollapsed(
  30. '%cDeprecation Warning: %c%s',
  31. 'color:#614108;background:#fffbe6',
  32. 'font-weight:normal;color:#614108;background:#fffbe6',
  33. msg
  34. );
  35. console.warn(stack);
  36. console.groupEnd();
  37. }
  38. else
  39. {
  40. console.warn('Deprecation Warning: ', msg);
  41. console.warn(stack);
  42. }
  43. }
  44. /* eslint-enable no-console */
  45. warnings[msg] = true;
  46. }
  47. export default function deprecation(core)
  48. {
  49. const { mesh, particles, extras, filters, prepare, loaders, interaction } = core;
  50. Object.defineProperties(core, {
  51. /**
  52. * @class
  53. * @private
  54. * @name SpriteBatch
  55. * @memberof PIXI
  56. * @see PIXI.ParticleContainer
  57. * @throws {ReferenceError} SpriteBatch does not exist any more, please use the new ParticleContainer instead.
  58. * @deprecated since version 3.0.0
  59. */
  60. SpriteBatch: {
  61. get()
  62. {
  63. throw new ReferenceError('SpriteBatch does not exist any more, '
  64. + 'please use the new ParticleContainer instead.');
  65. },
  66. },
  67. /**
  68. * @class
  69. * @private
  70. * @name AssetLoader
  71. * @memberof PIXI
  72. * @see PIXI.loaders.Loader
  73. * @throws {ReferenceError} The loader system was overhauled in PixiJS v3,
  74. * please see the new PIXI.loaders.Loader class.
  75. * @deprecated since version 3.0.0
  76. */
  77. AssetLoader: {
  78. get()
  79. {
  80. throw new ReferenceError('The loader system was overhauled in PixiJS v3, '
  81. + 'please see the new PIXI.loaders.Loader class.');
  82. },
  83. },
  84. /**
  85. * @class
  86. * @private
  87. * @name Stage
  88. * @memberof PIXI
  89. * @see PIXI.Container
  90. * @deprecated since version 3.0.0
  91. */
  92. Stage: {
  93. get()
  94. {
  95. warn('You do not need to use a PIXI Stage any more, you can simply render any container.');
  96. return core.Container;
  97. },
  98. },
  99. /**
  100. * @class
  101. * @private
  102. * @name DisplayObjectContainer
  103. * @memberof PIXI
  104. * @see PIXI.Container
  105. * @deprecated since version 3.0.0
  106. */
  107. DisplayObjectContainer: {
  108. get()
  109. {
  110. warn('DisplayObjectContainer has been shortened to Container, please use Container from now on.');
  111. return core.Container;
  112. },
  113. },
  114. /**
  115. * @class
  116. * @private
  117. * @name Strip
  118. * @memberof PIXI
  119. * @see PIXI.mesh.Mesh
  120. * @deprecated since version 3.0.0
  121. */
  122. Strip: {
  123. get()
  124. {
  125. warn('The Strip class has been renamed to Mesh and moved to mesh.Mesh, please use mesh.Mesh from now on.');
  126. return mesh.Mesh;
  127. },
  128. },
  129. /**
  130. * @class
  131. * @private
  132. * @name Rope
  133. * @memberof PIXI
  134. * @see PIXI.mesh.Rope
  135. * @deprecated since version 3.0.0
  136. */
  137. Rope: {
  138. get()
  139. {
  140. warn('The Rope class has been moved to mesh.Rope, please use mesh.Rope from now on.');
  141. return mesh.Rope;
  142. },
  143. },
  144. /**
  145. * @class
  146. * @private
  147. * @name ParticleContainer
  148. * @memberof PIXI
  149. * @see PIXI.particles.ParticleContainer
  150. * @deprecated since version 4.0.0
  151. */
  152. ParticleContainer: {
  153. get()
  154. {
  155. warn('The ParticleContainer class has been moved to particles.ParticleContainer, '
  156. + 'please use particles.ParticleContainer from now on.');
  157. return particles.ParticleContainer;
  158. },
  159. },
  160. /**
  161. * @class
  162. * @private
  163. * @name MovieClip
  164. * @memberof PIXI
  165. * @see PIXI.extras.MovieClip
  166. * @deprecated since version 3.0.0
  167. */
  168. MovieClip: {
  169. get()
  170. {
  171. warn('The MovieClip class has been moved to extras.AnimatedSprite, please use extras.AnimatedSprite.');
  172. return extras.AnimatedSprite;
  173. },
  174. },
  175. /**
  176. * @class
  177. * @private
  178. * @name TilingSprite
  179. * @memberof PIXI
  180. * @see PIXI.extras.TilingSprite
  181. * @deprecated since version 3.0.0
  182. */
  183. TilingSprite: {
  184. get()
  185. {
  186. warn('The TilingSprite class has been moved to extras.TilingSprite, '
  187. + 'please use extras.TilingSprite from now on.');
  188. return extras.TilingSprite;
  189. },
  190. },
  191. /**
  192. * @class
  193. * @private
  194. * @name BitmapText
  195. * @memberof PIXI
  196. * @see PIXI.extras.BitmapText
  197. * @deprecated since version 3.0.0
  198. */
  199. BitmapText: {
  200. get()
  201. {
  202. warn('The BitmapText class has been moved to extras.BitmapText, '
  203. + 'please use extras.BitmapText from now on.');
  204. return extras.BitmapText;
  205. },
  206. },
  207. /**
  208. * @class
  209. * @private
  210. * @name blendModes
  211. * @memberof PIXI
  212. * @see PIXI.BLEND_MODES
  213. * @deprecated since version 3.0.0
  214. */
  215. blendModes: {
  216. get()
  217. {
  218. warn('The blendModes has been moved to BLEND_MODES, please use BLEND_MODES from now on.');
  219. return core.BLEND_MODES;
  220. },
  221. },
  222. /**
  223. * @class
  224. * @private
  225. * @name scaleModes
  226. * @memberof PIXI
  227. * @see PIXI.SCALE_MODES
  228. * @deprecated since version 3.0.0
  229. */
  230. scaleModes: {
  231. get()
  232. {
  233. warn('The scaleModes has been moved to SCALE_MODES, please use SCALE_MODES from now on.');
  234. return core.SCALE_MODES;
  235. },
  236. },
  237. /**
  238. * @class
  239. * @private
  240. * @name BaseTextureCache
  241. * @memberof PIXI
  242. * @see PIXI.utils.BaseTextureCache
  243. * @deprecated since version 3.0.0
  244. */
  245. BaseTextureCache: {
  246. get()
  247. {
  248. warn('The BaseTextureCache class has been moved to utils.BaseTextureCache, '
  249. + 'please use utils.BaseTextureCache from now on.');
  250. return core.utils.BaseTextureCache;
  251. },
  252. },
  253. /**
  254. * @class
  255. * @private
  256. * @name TextureCache
  257. * @memberof PIXI
  258. * @see PIXI.utils.TextureCache
  259. * @deprecated since version 3.0.0
  260. */
  261. TextureCache: {
  262. get()
  263. {
  264. warn('The TextureCache class has been moved to utils.TextureCache, '
  265. + 'please use utils.TextureCache from now on.');
  266. return core.utils.TextureCache;
  267. },
  268. },
  269. /**
  270. * @namespace
  271. * @private
  272. * @name math
  273. * @memberof PIXI
  274. * @see PIXI
  275. * @deprecated since version 3.0.6
  276. */
  277. math: {
  278. get()
  279. {
  280. warn('The math namespace is deprecated, please access members already accessible on PIXI.');
  281. return core;
  282. },
  283. },
  284. /**
  285. * @class
  286. * @private
  287. * @name PIXI.AbstractFilter
  288. * @see PIXI.Filter
  289. * @deprecated since version 3.0.6
  290. */
  291. AbstractFilter: {
  292. get()
  293. {
  294. warn('AstractFilter has been renamed to Filter, please use PIXI.Filter');
  295. return core.Filter;
  296. },
  297. },
  298. /**
  299. * @class
  300. * @private
  301. * @name PIXI.TransformManual
  302. * @see PIXI.TransformBase
  303. * @deprecated since version 4.0.0
  304. */
  305. TransformManual: {
  306. get()
  307. {
  308. warn('TransformManual has been renamed to TransformBase, please update your pixi-spine');
  309. return core.TransformBase;
  310. },
  311. },
  312. /**
  313. * @static
  314. * @constant
  315. * @name PIXI.TARGET_FPMS
  316. * @see PIXI.settings.TARGET_FPMS
  317. * @deprecated since version 4.2.0
  318. */
  319. TARGET_FPMS: {
  320. get()
  321. {
  322. warn('PIXI.TARGET_FPMS has been deprecated, please use PIXI.settings.TARGET_FPMS');
  323. return core.settings.TARGET_FPMS;
  324. },
  325. set(value)
  326. {
  327. warn('PIXI.TARGET_FPMS has been deprecated, please use PIXI.settings.TARGET_FPMS');
  328. core.settings.TARGET_FPMS = value;
  329. },
  330. },
  331. /**
  332. * @static
  333. * @constant
  334. * @name PIXI.FILTER_RESOLUTION
  335. * @see PIXI.settings.FILTER_RESOLUTION
  336. * @deprecated since version 4.2.0
  337. */
  338. FILTER_RESOLUTION: {
  339. get()
  340. {
  341. warn('PIXI.FILTER_RESOLUTION has been deprecated, please use PIXI.settings.FILTER_RESOLUTION');
  342. return core.settings.FILTER_RESOLUTION;
  343. },
  344. set(value)
  345. {
  346. warn('PIXI.FILTER_RESOLUTION has been deprecated, please use PIXI.settings.FILTER_RESOLUTION');
  347. core.settings.FILTER_RESOLUTION = value;
  348. },
  349. },
  350. /**
  351. * @static
  352. * @constant
  353. * @name PIXI.RESOLUTION
  354. * @see PIXI.settings.RESOLUTION
  355. * @deprecated since version 4.2.0
  356. */
  357. RESOLUTION: {
  358. get()
  359. {
  360. warn('PIXI.RESOLUTION has been deprecated, please use PIXI.settings.RESOLUTION');
  361. return core.settings.RESOLUTION;
  362. },
  363. set(value)
  364. {
  365. warn('PIXI.RESOLUTION has been deprecated, please use PIXI.settings.RESOLUTION');
  366. core.settings.RESOLUTION = value;
  367. },
  368. },
  369. /**
  370. * @static
  371. * @constant
  372. * @name PIXI.MIPMAP_TEXTURES
  373. * @see PIXI.settings.MIPMAP_TEXTURES
  374. * @deprecated since version 4.2.0
  375. */
  376. MIPMAP_TEXTURES: {
  377. get()
  378. {
  379. warn('PIXI.MIPMAP_TEXTURES has been deprecated, please use PIXI.settings.MIPMAP_TEXTURES');
  380. return core.settings.MIPMAP_TEXTURES;
  381. },
  382. set(value)
  383. {
  384. warn('PIXI.MIPMAP_TEXTURES has been deprecated, please use PIXI.settings.MIPMAP_TEXTURES');
  385. core.settings.MIPMAP_TEXTURES = value;
  386. },
  387. },
  388. /**
  389. * @static
  390. * @constant
  391. * @name PIXI.SPRITE_BATCH_SIZE
  392. * @see PIXI.settings.SPRITE_BATCH_SIZE
  393. * @deprecated since version 4.2.0
  394. */
  395. SPRITE_BATCH_SIZE: {
  396. get()
  397. {
  398. warn('PIXI.SPRITE_BATCH_SIZE has been deprecated, please use PIXI.settings.SPRITE_BATCH_SIZE');
  399. return core.settings.SPRITE_BATCH_SIZE;
  400. },
  401. set(value)
  402. {
  403. warn('PIXI.SPRITE_BATCH_SIZE has been deprecated, please use PIXI.settings.SPRITE_BATCH_SIZE');
  404. core.settings.SPRITE_BATCH_SIZE = value;
  405. },
  406. },
  407. /**
  408. * @static
  409. * @constant
  410. * @name PIXI.SPRITE_MAX_TEXTURES
  411. * @see PIXI.settings.SPRITE_MAX_TEXTURES
  412. * @deprecated since version 4.2.0
  413. */
  414. SPRITE_MAX_TEXTURES: {
  415. get()
  416. {
  417. warn('PIXI.SPRITE_MAX_TEXTURES has been deprecated, please use PIXI.settings.SPRITE_MAX_TEXTURES');
  418. return core.settings.SPRITE_MAX_TEXTURES;
  419. },
  420. set(value)
  421. {
  422. warn('PIXI.SPRITE_MAX_TEXTURES has been deprecated, please use PIXI.settings.SPRITE_MAX_TEXTURES');
  423. core.settings.SPRITE_MAX_TEXTURES = value;
  424. },
  425. },
  426. /**
  427. * @static
  428. * @constant
  429. * @name PIXI.RETINA_PREFIX
  430. * @see PIXI.settings.RETINA_PREFIX
  431. * @deprecated since version 4.2.0
  432. */
  433. RETINA_PREFIX: {
  434. get()
  435. {
  436. warn('PIXI.RETINA_PREFIX has been deprecated, please use PIXI.settings.RETINA_PREFIX');
  437. return core.settings.RETINA_PREFIX;
  438. },
  439. set(value)
  440. {
  441. warn('PIXI.RETINA_PREFIX has been deprecated, please use PIXI.settings.RETINA_PREFIX');
  442. core.settings.RETINA_PREFIX = value;
  443. },
  444. },
  445. /**
  446. * @static
  447. * @constant
  448. * @name PIXI.DEFAULT_RENDER_OPTIONS
  449. * @see PIXI.settings.RENDER_OPTIONS
  450. * @deprecated since version 4.2.0
  451. */
  452. DEFAULT_RENDER_OPTIONS: {
  453. get()
  454. {
  455. warn('PIXI.DEFAULT_RENDER_OPTIONS has been deprecated, please use PIXI.settings.DEFAULT_RENDER_OPTIONS');
  456. return core.settings.RENDER_OPTIONS;
  457. },
  458. },
  459. });
  460. // Move the default properties to settings
  461. const defaults = [
  462. { parent: 'TRANSFORM_MODE', target: 'TRANSFORM_MODE' },
  463. { parent: 'GC_MODES', target: 'GC_MODE' },
  464. { parent: 'WRAP_MODES', target: 'WRAP_MODE' },
  465. { parent: 'SCALE_MODES', target: 'SCALE_MODE' },
  466. { parent: 'PRECISION', target: 'PRECISION_FRAGMENT' },
  467. ];
  468. for (let i = 0; i < defaults.length; i++)
  469. {
  470. const deprecation = defaults[i];
  471. Object.defineProperty(core[deprecation.parent], 'DEFAULT', {
  472. get()
  473. {
  474. warn(`PIXI.${deprecation.parent}.DEFAULT has been deprecated, `
  475. + `please use PIXI.settings.${deprecation.target}`);
  476. return core.settings[deprecation.target];
  477. },
  478. set(value)
  479. {
  480. warn(`PIXI.${deprecation.parent}.DEFAULT has been deprecated, `
  481. + `please use PIXI.settings.${deprecation.target}`);
  482. core.settings[deprecation.target] = value;
  483. },
  484. });
  485. }
  486. Object.defineProperties(core.settings, {
  487. /**
  488. * @static
  489. * @name PRECISION
  490. * @memberof PIXI.settings
  491. * @see PIXI.PRECISION
  492. * @deprecated since version 4.4.0
  493. */
  494. PRECISION: {
  495. get()
  496. {
  497. warn('PIXI.settings.PRECISION has been deprecated, please use PIXI.settings.PRECISION_FRAGMENT');
  498. return core.settings.PRECISION_FRAGMENT;
  499. },
  500. set(value)
  501. {
  502. warn('PIXI.settings.PRECISION has been deprecated, please use PIXI.settings.PRECISION_FRAGMENT');
  503. core.settings.PRECISION_FRAGMENT = value;
  504. },
  505. },
  506. });
  507. if (extras.AnimatedSprite)
  508. {
  509. Object.defineProperties(extras, {
  510. /**
  511. * @class
  512. * @name MovieClip
  513. * @memberof PIXI.extras
  514. * @see PIXI.extras.AnimatedSprite
  515. * @deprecated since version 4.2.0
  516. */
  517. MovieClip: {
  518. get()
  519. {
  520. warn('The MovieClip class has been renamed to AnimatedSprite, please use AnimatedSprite from now on.');
  521. return extras.AnimatedSprite;
  522. },
  523. },
  524. });
  525. }
  526. if (extras)
  527. {
  528. Object.defineProperties(extras, {
  529. /**
  530. * @class
  531. * @name TextureTransform
  532. * @memberof PIXI.extras
  533. * @see PIXI.TextureMatrix
  534. * @deprecated since version 4.6.0
  535. */
  536. TextureTransform: {
  537. get()
  538. {
  539. warn('The TextureTransform class has been renamed to TextureMatrix, '
  540. + 'please use PIXI.TextureMatrix from now on.');
  541. return core.TextureMatrix;
  542. },
  543. },
  544. });
  545. }
  546. core.DisplayObject.prototype.generateTexture = function generateTexture(renderer, scaleMode, resolution)
  547. {
  548. warn('generateTexture has moved to the renderer, please use renderer.generateTexture(displayObject)');
  549. return renderer.generateTexture(this, scaleMode, resolution);
  550. };
  551. core.Graphics.prototype.generateTexture = function generateTexture(scaleMode, resolution)
  552. {
  553. warn('graphics generate texture has moved to the renderer. '
  554. + 'Or to render a graphics to a texture using canvas please use generateCanvasTexture');
  555. return this.generateCanvasTexture(scaleMode, resolution);
  556. };
  557. /**
  558. * @method
  559. * @name PIXI.GroupD8.isSwapWidthHeight
  560. * @see PIXI.GroupD8.isVertical
  561. * @param {number} rotation - The number to check.
  562. * @returns {boolean} Whether or not the direction is vertical
  563. * @deprecated since version 4.6.0
  564. */
  565. core.GroupD8.isSwapWidthHeight = function isSwapWidthHeight(rotation)
  566. {
  567. warn('GroupD8.isSwapWidthHeight was renamed to GroupD8.isVertical');
  568. return core.GroupD8.isVertical(rotation);
  569. };
  570. core.RenderTexture.prototype.render = function render(displayObject, matrix, clear, updateTransform)
  571. {
  572. this.legacyRenderer.render(displayObject, this, clear, matrix, !updateTransform);
  573. warn('RenderTexture.render is now deprecated, please use renderer.render(displayObject, renderTexture)');
  574. };
  575. core.RenderTexture.prototype.getImage = function getImage(target)
  576. {
  577. warn('RenderTexture.getImage is now deprecated, please use renderer.extract.image(target)');
  578. return this.legacyRenderer.extract.image(target);
  579. };
  580. core.RenderTexture.prototype.getBase64 = function getBase64(target)
  581. {
  582. warn('RenderTexture.getBase64 is now deprecated, please use renderer.extract.base64(target)');
  583. return this.legacyRenderer.extract.base64(target);
  584. };
  585. core.RenderTexture.prototype.getCanvas = function getCanvas(target)
  586. {
  587. warn('RenderTexture.getCanvas is now deprecated, please use renderer.extract.canvas(target)');
  588. return this.legacyRenderer.extract.canvas(target);
  589. };
  590. core.RenderTexture.prototype.getPixels = function getPixels(target)
  591. {
  592. warn('RenderTexture.getPixels is now deprecated, please use renderer.extract.pixels(target)');
  593. return this.legacyRenderer.pixels(target);
  594. };
  595. /**
  596. * @method
  597. * @private
  598. * @name PIXI.Sprite#setTexture
  599. * @see PIXI.Sprite#texture
  600. * @deprecated since version 3.0.0
  601. * @param {PIXI.Texture} texture - The texture to set to.
  602. */
  603. core.Sprite.prototype.setTexture = function setTexture(texture)
  604. {
  605. this.texture = texture;
  606. warn('setTexture is now deprecated, please use the texture property, e.g : sprite.texture = texture;');
  607. };
  608. if (extras.BitmapText)
  609. {
  610. /**
  611. * @method
  612. * @name PIXI.extras.BitmapText#setText
  613. * @see PIXI.extras.BitmapText#text
  614. * @deprecated since version 3.0.0
  615. * @param {string} text - The text to set to.
  616. */
  617. extras.BitmapText.prototype.setText = function setText(text)
  618. {
  619. this.text = text;
  620. warn(`setText is now deprecated, please use the text property, e.g : myBitmapText.text = 'my text';`);
  621. };
  622. }
  623. /**
  624. * @method
  625. * @name PIXI.Text#setText
  626. * @see PIXI.Text#text
  627. * @deprecated since version 3.0.0
  628. * @param {string} text - The text to set to.
  629. */
  630. core.Text.prototype.setText = function setText(text)
  631. {
  632. this.text = text;
  633. warn(`setText is now deprecated, please use the text property, e.g : myText.text = 'my text';`);
  634. };
  635. /**
  636. * Calculates the ascent, descent and fontSize of a given fontStyle
  637. *
  638. * @name PIXI.Text.calculateFontProperties
  639. * @see PIXI.TextMetrics.measureFont
  640. * @deprecated since version 4.5.0
  641. * @param {string} font - String representing the style of the font
  642. * @return {Object} Font properties object
  643. */
  644. core.Text.calculateFontProperties = function calculateFontProperties(font)
  645. {
  646. warn(`Text.calculateFontProperties is now deprecated, please use the TextMetrics.measureFont`);
  647. return core.TextMetrics.measureFont(font);
  648. };
  649. Object.defineProperties(core.Text, {
  650. fontPropertiesCache: {
  651. get()
  652. {
  653. warn(`Text.fontPropertiesCache is deprecated`);
  654. return core.TextMetrics._fonts;
  655. },
  656. },
  657. fontPropertiesCanvas: {
  658. get()
  659. {
  660. warn(`Text.fontPropertiesCanvas is deprecated`);
  661. return core.TextMetrics._canvas;
  662. },
  663. },
  664. fontPropertiesContext: {
  665. get()
  666. {
  667. warn(`Text.fontPropertiesContext is deprecated`);
  668. return core.TextMetrics._context;
  669. },
  670. },
  671. });
  672. /**
  673. * @method
  674. * @name PIXI.Text#setStyle
  675. * @see PIXI.Text#style
  676. * @deprecated since version 3.0.0
  677. * @param {*} style - The style to set to.
  678. */
  679. core.Text.prototype.setStyle = function setStyle(style)
  680. {
  681. this.style = style;
  682. warn('setStyle is now deprecated, please use the style property, e.g : myText.style = style;');
  683. };
  684. /**
  685. * @method
  686. * @name PIXI.Text#determineFontProperties
  687. * @see PIXI.Text#measureFontProperties
  688. * @deprecated since version 4.2.0
  689. * @private
  690. * @param {string} fontStyle - String representing the style of the font
  691. * @return {Object} Font properties object
  692. */
  693. core.Text.prototype.determineFontProperties = function determineFontProperties(fontStyle)
  694. {
  695. warn('determineFontProperties is now deprecated, please use TextMetrics.measureFont method');
  696. return core.TextMetrics.measureFont(fontStyle);
  697. };
  698. /**
  699. * @method
  700. * @name PIXI.Text.getFontStyle
  701. * @see PIXI.TextMetrics.getFontStyle
  702. * @deprecated since version 4.5.0
  703. * @param {PIXI.TextStyle} style - The style to use.
  704. * @return {string} Font string
  705. */
  706. core.Text.getFontStyle = function getFontStyle(style)
  707. {
  708. warn('getFontStyle is now deprecated, please use TextStyle.toFontString() instead');
  709. style = style || {};
  710. if (!(style instanceof core.TextStyle))
  711. {
  712. style = new core.TextStyle(style);
  713. }
  714. return style.toFontString();
  715. };
  716. Object.defineProperties(core.TextStyle.prototype, {
  717. /**
  718. * Set all properties of a font as a single string
  719. *
  720. * @name PIXI.TextStyle#font
  721. * @deprecated since version 4.0.0
  722. */
  723. font: {
  724. get()
  725. {
  726. warn(`text style property 'font' is now deprecated, please use the `
  727. + `'fontFamily', 'fontSize', 'fontStyle', 'fontVariant' and 'fontWeight' properties from now on`);
  728. const fontSizeString = (typeof this._fontSize === 'number') ? `${this._fontSize}px` : this._fontSize;
  729. return `${this._fontStyle} ${this._fontVariant} ${this._fontWeight} ${fontSizeString} ${this._fontFamily}`;
  730. },
  731. set(font)
  732. {
  733. warn(`text style property 'font' is now deprecated, please use the `
  734. + `'fontFamily','fontSize',fontStyle','fontVariant' and 'fontWeight' properties from now on`);
  735. // can work out fontStyle from search of whole string
  736. if (font.indexOf('italic') > 1)
  737. {
  738. this._fontStyle = 'italic';
  739. }
  740. else if (font.indexOf('oblique') > -1)
  741. {
  742. this._fontStyle = 'oblique';
  743. }
  744. else
  745. {
  746. this._fontStyle = 'normal';
  747. }
  748. // can work out fontVariant from search of whole string
  749. if (font.indexOf('small-caps') > -1)
  750. {
  751. this._fontVariant = 'small-caps';
  752. }
  753. else
  754. {
  755. this._fontVariant = 'normal';
  756. }
  757. // fontWeight and fontFamily are tricker to find, but it's easier to find the fontSize due to it's units
  758. const splits = font.split(' ');
  759. let fontSizeIndex = -1;
  760. this._fontSize = 26;
  761. for (let i = 0; i < splits.length; ++i)
  762. {
  763. if (splits[i].match(/(px|pt|em|%)/))
  764. {
  765. fontSizeIndex = i;
  766. this._fontSize = splits[i];
  767. break;
  768. }
  769. }
  770. // we can now search for fontWeight as we know it must occur before the fontSize
  771. this._fontWeight = 'normal';
  772. for (let i = 0; i < fontSizeIndex; ++i)
  773. {
  774. if (splits[i].match(/(bold|bolder|lighter|100|200|300|400|500|600|700|800|900)/))
  775. {
  776. this._fontWeight = splits[i];
  777. break;
  778. }
  779. }
  780. // and finally join everything together after the fontSize in case the font family has multiple words
  781. if (fontSizeIndex > -1 && fontSizeIndex < splits.length - 1)
  782. {
  783. this._fontFamily = '';
  784. for (let i = fontSizeIndex + 1; i < splits.length; ++i)
  785. {
  786. this._fontFamily += `${splits[i]} `;
  787. }
  788. this._fontFamily = this._fontFamily.slice(0, -1);
  789. }
  790. else
  791. {
  792. this._fontFamily = 'Arial';
  793. }
  794. this.styleID++;
  795. },
  796. },
  797. });
  798. /**
  799. * @method
  800. * @name PIXI.Texture#setFrame
  801. * @see PIXI.Texture#setFrame
  802. * @deprecated since version 3.0.0
  803. * @param {PIXI.Rectangle} frame - The frame to set.
  804. */
  805. core.Texture.prototype.setFrame = function setFrame(frame)
  806. {
  807. this.frame = frame;
  808. warn('setFrame is now deprecated, please use the frame property, e.g: myTexture.frame = frame;');
  809. };
  810. /**
  811. * @static
  812. * @function
  813. * @name PIXI.Texture.addTextureToCache
  814. * @see PIXI.Texture.addToCache
  815. * @deprecated since 4.5.0
  816. * @param {PIXI.Texture} texture - The Texture to add to the cache.
  817. * @param {string} id - The id that the texture will be stored against.
  818. */
  819. core.Texture.addTextureToCache = function addTextureToCache(texture, id)
  820. {
  821. core.Texture.addToCache(texture, id);
  822. warn('Texture.addTextureToCache is deprecated, please use Texture.addToCache from now on.');
  823. };
  824. /**
  825. * @static
  826. * @function
  827. * @name PIXI.Texture.removeTextureFromCache
  828. * @see PIXI.Texture.removeFromCache
  829. * @deprecated since 4.5.0
  830. * @param {string} id - The id of the texture to be removed
  831. * @return {PIXI.Texture|null} The texture that was removed
  832. */
  833. core.Texture.removeTextureFromCache = function removeTextureFromCache(id)
  834. {
  835. warn('Texture.removeTextureFromCache is deprecated, please use Texture.removeFromCache from now on. '
  836. + 'Be aware that Texture.removeFromCache does not automatically its BaseTexture from the BaseTextureCache. '
  837. + 'For that, use BaseTexture.removeFromCache');
  838. core.BaseTexture.removeFromCache(id);
  839. return core.Texture.removeFromCache(id);
  840. };
  841. Object.defineProperties(filters, {
  842. /**
  843. * @class
  844. * @private
  845. * @name PIXI.filters.AbstractFilter
  846. * @see PIXI.AbstractFilter
  847. * @deprecated since version 3.0.6
  848. */
  849. AbstractFilter: {
  850. get()
  851. {
  852. warn('AstractFilter has been renamed to Filter, please use PIXI.Filter');
  853. return core.AbstractFilter;
  854. },
  855. },
  856. /**
  857. * @class
  858. * @private
  859. * @name PIXI.filters.SpriteMaskFilter
  860. * @see PIXI.SpriteMaskFilter
  861. * @deprecated since version 3.0.6
  862. */
  863. SpriteMaskFilter: {
  864. get()
  865. {
  866. warn('filters.SpriteMaskFilter is an undocumented alias, please use SpriteMaskFilter from now on.');
  867. return core.SpriteMaskFilter;
  868. },
  869. },
  870. /**
  871. * @class
  872. * @private
  873. * @name PIXI.filters.VoidFilter
  874. * @see PIXI.filters.AlphaFilter
  875. * @deprecated since version 4.5.7
  876. */
  877. VoidFilter: {
  878. get()
  879. {
  880. warn('VoidFilter has been renamed to AlphaFilter, please use PIXI.filters.AlphaFilter');
  881. return filters.AlphaFilter;
  882. },
  883. },
  884. });
  885. /**
  886. * @method
  887. * @name PIXI.utils.uuid
  888. * @see PIXI.utils.uid
  889. * @deprecated since version 3.0.6
  890. * @return {number} The uid
  891. */
  892. core.utils.uuid = () =>
  893. {
  894. warn('utils.uuid() is deprecated, please use utils.uid() from now on.');
  895. return core.utils.uid();
  896. };
  897. /**
  898. * @method
  899. * @name PIXI.utils.canUseNewCanvasBlendModes
  900. * @see PIXI.CanvasTinter
  901. * @deprecated
  902. * @return {boolean} Can use blend modes.
  903. */
  904. core.utils.canUseNewCanvasBlendModes = () =>
  905. {
  906. warn('utils.canUseNewCanvasBlendModes() is deprecated, please use CanvasTinter.canUseMultiply from now on');
  907. return core.CanvasTinter.canUseMultiply;
  908. };
  909. let saidHello = true;
  910. /**
  911. * @name PIXI.utils._saidHello
  912. * @type {boolean}
  913. * @see PIXI.utils.skipHello
  914. * @deprecated since 4.1.0
  915. */
  916. Object.defineProperty(core.utils, '_saidHello', {
  917. set(bool)
  918. {
  919. if (bool)
  920. {
  921. warn('PIXI.utils._saidHello is deprecated, please use PIXI.utils.skipHello()');
  922. this.skipHello();
  923. }
  924. saidHello = bool;
  925. },
  926. get()
  927. {
  928. return saidHello;
  929. },
  930. });
  931. if (prepare.BasePrepare)
  932. {
  933. /**
  934. * @method
  935. * @name PIXI.prepare.BasePrepare#register
  936. * @see PIXI.prepare.BasePrepare#registerFindHook
  937. * @deprecated since version 4.4.2
  938. * @param {Function} [addHook] - Function call that takes two parameters: `item:*, queue:Array`
  939. * function must return `true` if it was able to add item to the queue.
  940. * @param {Function} [uploadHook] - Function call that takes two parameters: `prepare:CanvasPrepare, item:*` and
  941. * function must return `true` if it was able to handle upload of item.
  942. * @return {PIXI.BasePrepare} Instance of plugin for chaining.
  943. */
  944. prepare.BasePrepare.prototype.register = function register(addHook, uploadHook)
  945. {
  946. warn('renderer.plugins.prepare.register is now deprecated, '
  947. + 'please use renderer.plugins.prepare.registerFindHook & renderer.plugins.prepare.registerUploadHook');
  948. if (addHook)
  949. {
  950. this.registerFindHook(addHook);
  951. }
  952. if (uploadHook)
  953. {
  954. this.registerUploadHook(uploadHook);
  955. }
  956. return this;
  957. };
  958. }
  959. if (prepare.canvas)
  960. {
  961. /**
  962. * The number of graphics or textures to upload to the GPU.
  963. *
  964. * @name PIXI.prepare.canvas.UPLOADS_PER_FRAME
  965. * @static
  966. * @type {number}
  967. * @see PIXI.prepare.BasePrepare.limiter
  968. * @deprecated since 4.2.0
  969. */
  970. Object.defineProperty(prepare.canvas, 'UPLOADS_PER_FRAME', {
  971. set()
  972. {
  973. warn('PIXI.CanvasPrepare.UPLOADS_PER_FRAME has been removed. Please set '
  974. + 'renderer.plugins.prepare.limiter.maxItemsPerFrame on your renderer');
  975. // because we don't have a reference to the renderer, we can't actually set
  976. // the uploads per frame, so we'll have to stick with the warning.
  977. },
  978. get()
  979. {
  980. warn('PIXI.CanvasPrepare.UPLOADS_PER_FRAME has been removed. Please use '
  981. + 'renderer.plugins.prepare.limiter');
  982. return NaN;
  983. },
  984. });
  985. }
  986. if (prepare.webgl)
  987. {
  988. /**
  989. * The number of graphics or textures to upload to the GPU.
  990. *
  991. * @name PIXI.prepare.webgl.UPLOADS_PER_FRAME
  992. * @static
  993. * @type {number}
  994. * @see PIXI.prepare.BasePrepare.limiter
  995. * @deprecated since 4.2.0
  996. */
  997. Object.defineProperty(prepare.webgl, 'UPLOADS_PER_FRAME', {
  998. set()
  999. {
  1000. warn('PIXI.WebGLPrepare.UPLOADS_PER_FRAME has been removed. Please set '
  1001. + 'renderer.plugins.prepare.limiter.maxItemsPerFrame on your renderer');
  1002. // because we don't have a reference to the renderer, we can't actually set
  1003. // the uploads per frame, so we'll have to stick with the warning.
  1004. },
  1005. get()
  1006. {
  1007. warn('PIXI.WebGLPrepare.UPLOADS_PER_FRAME has been removed. Please use '
  1008. + 'renderer.plugins.prepare.limiter');
  1009. return NaN;
  1010. },
  1011. });
  1012. }
  1013. if (loaders.Loader)
  1014. {
  1015. const Resource = loaders.Resource;
  1016. const Loader = loaders.Loader;
  1017. Object.defineProperties(Resource.prototype, {
  1018. isJson: {
  1019. get()
  1020. {
  1021. warn('The isJson property is deprecated, please use `resource.type === Resource.TYPE.JSON`.');
  1022. return this.type === Resource.TYPE.JSON;
  1023. },
  1024. },
  1025. isXml: {
  1026. get()
  1027. {
  1028. warn('The isXml property is deprecated, please use `resource.type === Resource.TYPE.XML`.');
  1029. return this.type === Resource.TYPE.XML;
  1030. },
  1031. },
  1032. isImage: {
  1033. get()
  1034. {
  1035. warn('The isImage property is deprecated, please use `resource.type === Resource.TYPE.IMAGE`.');
  1036. return this.type === Resource.TYPE.IMAGE;
  1037. },
  1038. },
  1039. isAudio: {
  1040. get()
  1041. {
  1042. warn('The isAudio property is deprecated, please use `resource.type === Resource.TYPE.AUDIO`.');
  1043. return this.type === Resource.TYPE.AUDIO;
  1044. },
  1045. },
  1046. isVideo: {
  1047. get()
  1048. {
  1049. warn('The isVideo property is deprecated, please use `resource.type === Resource.TYPE.VIDEO`.');
  1050. return this.type === Resource.TYPE.VIDEO;
  1051. },
  1052. },
  1053. });
  1054. Object.defineProperties(Loader.prototype, {
  1055. before: {
  1056. get()
  1057. {
  1058. warn('The before() method is deprecated, please use pre().');
  1059. return this.pre;
  1060. },
  1061. },
  1062. after: {
  1063. get()
  1064. {
  1065. warn('The after() method is deprecated, please use use().');
  1066. return this.use;
  1067. },
  1068. },
  1069. });
  1070. }
  1071. if (interaction.interactiveTarget)
  1072. {
  1073. /**
  1074. * @name PIXI.interaction.interactiveTarget#defaultCursor
  1075. * @static
  1076. * @type {number}
  1077. * @see PIXI.interaction.interactiveTarget#cursor
  1078. * @deprecated since 4.3.0
  1079. */
  1080. Object.defineProperty(interaction.interactiveTarget, 'defaultCursor', {
  1081. set(value)
  1082. {
  1083. warn('Property defaultCursor has been replaced with \'cursor\'. ');
  1084. this.cursor = value;
  1085. },
  1086. get()
  1087. {
  1088. warn('Property defaultCursor has been replaced with \'cursor\'. ');
  1089. return this.cursor;
  1090. },
  1091. });
  1092. }
  1093. if (interaction.InteractionManager)
  1094. {
  1095. /**
  1096. * @name PIXI.interaction.InteractionManager#defaultCursorStyle
  1097. * @static
  1098. * @type {string}
  1099. * @see PIXI.interaction.InteractionManager#cursorStyles
  1100. * @deprecated since 4.3.0
  1101. */
  1102. Object.defineProperty(interaction.InteractionManager, 'defaultCursorStyle', {
  1103. set(value)
  1104. {
  1105. warn('Property defaultCursorStyle has been replaced with \'cursorStyles.default\'. ');
  1106. this.cursorStyles.default = value;
  1107. },
  1108. get()
  1109. {
  1110. warn('Property defaultCursorStyle has been replaced with \'cursorStyles.default\'. ');
  1111. return this.cursorStyles.default;
  1112. },
  1113. });
  1114. /**
  1115. * @name PIXI.interaction.InteractionManager#currentCursorStyle
  1116. * @static
  1117. * @type {string}
  1118. * @see PIXI.interaction.InteractionManager#cursorStyles
  1119. * @deprecated since 4.3.0
  1120. */
  1121. Object.defineProperty(interaction.InteractionManager, 'currentCursorStyle', {
  1122. set(value)
  1123. {
  1124. warn('Property currentCursorStyle has been removed.'
  1125. + 'See the currentCursorMode property, which works differently.');
  1126. this.currentCursorMode = value;
  1127. },
  1128. get()
  1129. {
  1130. warn('Property currentCursorStyle has been removed.'
  1131. + 'See the currentCursorMode property, which works differently.');
  1132. return this.currentCursorMode;
  1133. },
  1134. });
  1135. }
  1136. }