Commit graph

323 commits

Author SHA1 Message Date
Richard Davey
bfa0a7298a Update TextureSource.js
* The `Textures.TextureSource.glIndex` property has been removed.
* The `Textures.TextureSource.glIndexCounter` property has been removed.
2022-10-07 16:08:50 +01:00
Richard Davey
5641bfe48c Update index.js 2022-10-07 15:27:50 +01:00
Richard Davey
5aa1584360 TextureManager.silentWarnings is a new boolean property that, when set, will prevent the Texture Manager from emiting any warnings or errors to the console in the case of missing texture keys or invalid texture access. The default is to display these warnings, this flag toggles that. 2022-10-06 22:04:21 +01:00
Richard Davey
6f68e075ba Update DynamicTexture.js 2022-10-04 14:49:10 +01:00
Richard Davey
4db20ffa9e Allow a DynamicTexture to be used as a BitmapMask 2022-10-03 23:15:53 +01:00
Richard Davey
c2869d2eb6 Scale 1 2022-10-03 23:15:40 +01:00
Richard Davey
95cd4f294d Camera is for textures only 2022-10-03 18:50:09 +01:00
Richard Davey
dcb1c8a9dd Allowing custom resolution for mask shader 2022-09-29 23:35:06 +01:00
Richard Davey
e2c9838896 Update StampConfig.js 2022-09-29 18:51:31 +01:00
Richard Davey
9ba74e9f8c Added scale, blendMode and erase support 2022-09-29 18:51:27 +01:00
Richard Davey
f7196a07c2 Added stamp method docs and swap to using config object 2022-09-29 17:42:52 +01:00
Richard Davey
4b14d3d6c6 Create StampConfig.js 2022-09-29 17:42:40 +01:00
Richard Davey
3528354a4b Added handy 'stamp' method 2022-09-28 22:43:29 +01:00
Richard Davey
064a1e0f4f Added resetStamp 2022-09-28 22:43:20 +01:00
Richard Davey
0d951029b6 No need for 'this.frame' 2022-09-28 20:57:50 +01:00
Richard Davey
a60660a474 Create on READY 2022-09-28 20:57:42 +01:00
Richard Davey
e3503ef8b4 All of the following Texture Manager methods will now allow you to pass in a Phaser Texture as the source parameter: addSpriteSheet, addAtlas, addAtlasJSONArray, addAtlasJSONHash, addAtlasXML and addAtlasUnity. This allows you to add sprite sheet or atlas data to existing textures, or textures that came from external sources, such as SVG files, canvas elements or Dynamic Textures. 2022-09-28 20:34:34 +01:00
Richard Davey
8bfe54287a Updated documentation 2022-09-28 19:53:59 +01:00
Richard Davey
676f0db838 Added Stamp 2022-09-28 19:53:49 +01:00
Richard Davey
0e57db40d4 Improved docs 2022-09-28 19:09:35 +01:00
Richard Davey
f9ecb2461b Update DynamicTexture.js 2022-09-28 17:51:09 +01:00
Richard Davey
d64878736f Testing out the new DynamicTexture 2022-09-27 23:39:23 +01:00
Richard Davey
62f3315b1c Trying DynamicTexture (to replace RenderTexture) 2022-09-27 18:42:46 +01:00
Richard Davey
e15f2414d6 Update TextureManager.js 2022-09-26 23:18:12 +01:00
Richard Davey
1283ca8198 The TextureManager.get methof can now accept a Frame instance as its parameter, which will return the frames parent Texture. 2022-09-26 17:18:04 +01:00
Richard Davey
25ab9f329d TextureManager.parseFrame is a new method that will return a Texture Frame instance from the given argument, which can be a string, array, object or Texture instance. 2022-09-26 15:28:41 +01:00
Richard Davey
5320402a07 The endFrame and startFrame properties of the SpriteSheet parser wouldn't correctly apply themselves, the Texture would still end up with all of the frames. It will now start at the given startFrame so that is frame zero and end at endFrame, regardless how many other frames are in the sheet. 2022-09-24 21:35:58 +01:00
Richard Davey
023343c789 All events have a type of string. Fix #6136 2022-09-21 22:01:03 +01:00
Richard Davey
17415902ab The Texture.destroy method will only destroy sources, dataSources and frames if they exist, protecting against previously destroyed instances. 2022-09-21 14:06:58 +01:00
Richard Davey
618891bcda The TextureManager.addSpriteSheet method will now allow you to pass in a Phaser Texture as the 2nd parameter. This allows you to add sprite sheet data to textures that came from external sources, such as SVG files or canvas elements. 2022-09-15 22:30:59 +01:00
Richard Davey
bdce1b255f Update index.js 2022-09-08 21:36:28 +01:00
Richard Davey
bc7e5f9c79
Merge pull request #6196 from samme/feature/texture-add-remove-key-events
Add texture add/remove key events
2022-08-24 21:20:13 +01:00
samme
7824876bd7 Add texture add/remove key events
- Phaser.Textures.Events.ADD_KEY
- Phaser.Textures.Events.REMOVE_KEY
2022-08-24 10:13:58 -07:00
samme
01735b5a5c Exclude __WHITE in getTextureKeys() 2022-08-23 10:38:51 -07:00
Richard Davey
0258714887 Update TextureManager.js 2022-08-19 16:44:55 +01:00
Richard Davey
7c4eff9251 The CanvasFeatures tests and the TextureManager _tempContext now specify the { willReadFrequently: true } hint to inform the browser the canvas is to be read from, not composited. 2022-08-18 18:01:28 +01:00
Richard Davey
59fbcc5ca3 Updated copyright year 2022-02-28 14:29:51 +00:00
Richard Davey
a4308cfa3a Skips Canvas drawImage calls if invalid frame sizes given. Fix #5951 2022-02-03 16:44:24 +00:00
Richard Davey
07f0bd4184 The JSON Hash and Array Texture Parsers will now throw a console.warn if the JSON is invalid and contains identically named frames. 2021-11-03 13:49:24 +00:00
Richard Davey
615321582f Expose the parsers 2021-10-06 18:44:19 +01:00
Richard Davey
97be6a965d Textures.Parsers.PVRParser is a new parser for the PVR compression container format. 2021-10-06 18:44:13 +01:00
Richard Davey
94906435c2 Textures.Parsers.KTXParser is a new parser for the KTX compression container format. 2021-10-06 18:44:03 +01:00
Richard Davey
e4bbc4dec7 TextureManager#addCompressedTexture is a new method that will add a compressed texture, and optionally atlas data into the Texture Manager and return a Texture object than any Sprite can use. 2021-10-06 18:43:20 +01:00
Richard Davey
3a6219914e Now parses compressed textures and sets the algorithm property 2021-10-06 18:42:26 +01:00
Richard Davey
8752890c2c Create MipmapType.js 2021-10-06 17:47:21 +01:00
Richard Davey
f2d21f26fd Create CompressedTextureData.js 2021-10-06 17:47:16 +01:00
Richard Davey
a2428e1424 Create PVRParser.js 2021-10-05 18:30:24 +01:00
Richard Davey
6f9471f40d Create KTXParser.js 2021-10-05 18:30:21 +01:00
samme
c9cbace6f2 Add texture key to the missing frame warning 2021-09-02 10:41:16 -07:00
Sebastian Fast
df9f367b95 #5689 moved _pending to beginning of function 2021-05-13 10:52:06 +02:00
Richard Davey
8a6a4a7219 If TextureSource.destroy has a WebGL Texture it will tell the WebGL Renderer to reset the textures first, before deleting its texture. 2021-02-17 13:11:12 +00:00
Matt Jennings
d30c1682d2 check that renderer exists before accessing renderer.type (fixes #5558) 2021-02-11 15:43:16 -06:00
Richard Davey
b71bfcf7ba The error RENDER WARNING: there is no texture bound to the unit ... would be thrown when destroying a Text Game Object, or any Game Object that uses its own custom texture. Destroying such an object will now reset the WebGL Texture cache. Fix #5464 2021-01-04 15:51:14 +00:00
Richard Davey
abf90070ba Update TextureManager.js 2020-11-26 11:24:32 +00:00
Richard Davey
417f7684c3 More integer to number changes 2020-11-23 10:32:00 +00:00
Richard Davey
02c34cd64e Replace integer with number 2020-11-23 10:22:13 +00:00
Hexus
ef022cd3df Implemented reading WebGL texture dimensions automatically when adding them to the TextureManager 2020-11-18 00:49:19 +00:00
Richard Davey
b278916b3e No need to reset during destroy 2020-10-27 11:38:34 +00:00
Richard Davey
c8a99f00f2 Improved JSDocs 2020-10-03 10:15:19 +01:00
Richard Davey
e368c479a0 The TextureManager now generates a new texture with the key __WHITE durings its boot process. This is a pure white 4x4 texture used by the Graphics pipelines. 2020-09-14 14:54:58 +01:00
Richard Davey
80c571963c Textures.Parsers.JSONHash will now perform a hasOwnProperty check when iterating the frames, skipping anything that isn't a direct property. This should allow you to use generated atlas data that comes from JSON.parse. Fix #4768 2020-08-26 13:06:04 +01:00
Richard Davey
d98d305e2f Frame.setUVs is a new method that allows you to directly set the canvas and UV data for a frame. Use this if you need to override the values set automatically during frame creation. 2020-08-05 12:45:07 +01:00
Richard Davey
4baa0522b9 Bumping to 3.50 2020-07-31 13:41:29 +01:00
Richard Davey
556b5b05be Update TextureSource.js 2020-07-23 16:23:14 +01:00
Richard Davey
fd305591ec Added glIndex and glIndexCounter properties 2020-07-15 16:52:01 +01:00
samme
00d645e438 Print texture key in warning for zero frames 2020-05-08 10:31:20 -07:00
Richard Davey
19c53407e5 CanvasTexture.setSize forgot to update the width and height properties of the Texture itself. These now match the underlying canvas element. Fix #5054 2020-04-27 15:19:00 +01:00
Richard Davey
f4efebfb64
Merge pull request #5103 from samme/docs/misc-6
Docs corrections
2020-04-27 10:01:33 +01:00
Richard Davey
6c47e3d9e1 Formatting fixes 2020-04-27 09:59:40 +01:00
Ben Randall
c4e9860c4b Fixes to JSON texture parsers
Add support for anchors to JSON Hash
Accept pivot value from anchor property or pivot property.
2020-04-26 22:12:06 -07:00
samme
cfe501c338 Docs: correct type for CanvasTexture#getPixels 2020-04-21 11:05:16 -07:00
Richard Davey
3183f1e7de Finished JSDocs 2020-02-04 17:16:19 +00:00
Richard Davey
8f52fe59bb Completed JSDocs 2020-02-04 14:56:28 +00:00
Richard Davey
ff65e69cd1 Changed copyright date to 2020 2020-01-15 12:07:09 +00:00
J.C
8d259cd6c2 add missing parameters for addGLTexture method for TS def 2019-10-23 17:45:48 +08:00
J.C
d56deef62b undo brackets removal 2019-10-18 12:03:11 +08:00
J.C
87b54d2f4f fixed a bug: in case if the environment does not support HTMLVideoElement. 2019-10-16 13:39:52 +08:00
J.C
96dbb3e11a
check to see if the environmet has video element 2019-10-15 15:24:36 +08:00
Richard Davey
9659ec2f47 Added flipY property and setFlipY method. 2019-10-10 12:26:25 +01:00
Richard Davey
69346bb1d3 TextureManager.get can now accept either a string-based key, or a Texture instance, as its parameter. 2019-10-09 10:49:47 +01:00
Richard Davey
94e2ac4f79 Passes off creation to new videoToTexture method 2019-10-03 17:50:18 +01:00
Richard Davey
de1034091e TextureSource.isVideo is a new boolean property that is set when the Texture Source is backed by an HTML Video Element. 2019-10-03 02:28:47 +01:00
Richard Davey
342ad984ac TextureSource.setFilter will now set the scaleMode to the given filter. 2019-10-01 14:42:30 +01:00
Richard Davey
a0292b5685 TextureSource.isGLTexture now checks if the browser supports WebGLTexture before checking to see if source is an instance of one. This should fix issues with Phaser in HEADLESS mode running under node / jsdom, or where WebGLTexture isn't present. Fix #4711 2019-10-01 13:46:37 +01:00
Richard Davey
d5cd37a9ac Texture.remove is a new method that allows you to remove a Frame from a Texture based on its name. Fix #4460 2019-08-07 13:03:00 +01:00
Richard Davey
6c04d99039 Frame.destroy will now null the Frames reference to its parent texture, glTexture and clear the data and customData objects. 2019-08-07 12:59:23 +01:00
Richard Davey
87a685dccc Calling CanvasTexture.update will now automatically call refresh if running under WebGL. This happens for both draw and drawFrame, meaning you no longer need to remember to call refresh after drawing to a Canvas Texture in WebGL, keeping it consistent with the Canvas renderer. 2019-08-01 19:27:47 +01:00
Richard Davey
9e9d264973 getPixels defaults to 0x0 2019-07-21 16:18:21 +01:00
Richard Davey
7d2b34f8ed Warn if invalid texture source 2019-07-15 15:42:25 +01:00
Richard Davey
a737cf0de5 Corrected manager type. 2019-07-13 10:50:06 +01:00
Richard Davey
d432a64576 CanvasTexture has been added to the Textures namespace so it can be created without needing to import it. The correct way to create a CanvasTexture is via the Texture Manager, but you can now do it directly if required. Fix #4651 2019-07-13 10:49:05 +01:00
Richard Davey
4f87c7d441 Updated docs and frame source checks 2019-07-08 15:24:12 +01:00
Richard Davey
c33cf85456 Added isGLTexture property 2019-06-21 16:34:47 +01:00
Richard Davey
1e9ef314c9 Added addGLTexture method to save WebGL Textures directly into the Texture Manager. 2019-06-21 16:10:26 +01:00
Richard Davey
b0b5f202fe Fixed some jsdocs and added WebGLTexture support 2019-06-21 16:08:47 +01:00
Richard Davey
c91ed91ce3 License link update 2019-05-10 16:15:04 +01:00
Richard Davey
0d831ccf71 Texture Types 2019-05-09 12:38:45 +01:00
Richard Davey
f552dde229 Texture.add will no longer let you add a frame to a texture with the same name or index as one that already exists in the texture. Doing so will now return null instead of a Frame object, and the frameTotal will never be incremented. Fix #4459 2019-04-08 14:22:03 +01:00
Richard Davey
56babb5841
Merge pull request #4089 from Cirras/texture-add-base-texture-fix
Make Texture.add() firstFrame check more explicit (Fix issue #4088)
2019-04-08 12:03:17 +01:00
Richard Davey
8cb466b4e9 Clarified the important of the __BASE frame in a Texture #4285 2019-04-08 11:54:47 +01:00