Commit graph

313 commits

Author SHA1 Message Date
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
Richard Davey
73dc7899b9 Removed commented logs 2019-04-08 10:19:22 +01:00
Richard Davey
36b40db7f0
Merge pull request #4351 from Cirras/spritesheet-from-atlas-base-texture
Add __BASE texture entry in SpriteSheetFromAtlas parser
2019-04-08 10:17:23 +01:00
Richard Davey
382fed3de7 Added TextureManager.removeKey method and invoke it from Texture.destroy. Fix #4461 2019-04-06 11:35:58 +01:00
Richard Davey
ccf677dfa6 Textures typedefs 2019-02-13 15:43:08 +00:00
Richard Davey
70a87a576d Some legacy instances of float moved to number. 2019-02-13 12:39:36 +00:00
Richard Davey
e7b1d086e7 Moving all of the typedefs to properly namespaced scopes, rather than globals
\o/ ~ "Someone, save me!"
2019-02-13 12:35:12 +00:00
Richard Davey
b50e1c78b5 Lots more jsdoc tweaks and improvements 2019-02-12 15:01:54 +00:00
Richard Davey
dc73993fe2 Added jsdoc version numbers 2019-02-12 12:22:25 +00:00
Richard Davey
ccaae460a4 Added jsdoc version numbers to each event 2019-02-12 11:37:58 +00:00
Cirras
9a38ddf7b8 Add __BASE texture entry to spritesheets created with SpriteSheetFromAtlas parser 2019-02-10 01:33:30 +11:00
Richard Davey
ac1b0d8d85 Added dirty rect arguments to putData method 2019-02-08 19:45:58 +00:00
Richard Davey
eb9ed3463f Lots of namespace and jsdoc fixes 2019-02-01 18:02:58 +00:00
Richard Davey
1eccff1e3b Fixed jsdoc links and markdown bullet lists 2019-01-18 15:20:56 +00:00
Richard Davey
bc962c25dc All listeners use the new Events 2019-01-18 13:41:43 +00:00
Richard Davey
25c1a5fe74 Added Texture Manager Events and moved 'ready' responsibility to it 2019-01-17 11:54:41 +00:00
Richard Davey
aa341854c7 Happy New Year 2019-01-15 16:20:22 +00:00
Richard Davey
d9f0483437 JSDoc update. 2019-01-07 23:13:07 +00:00
jestarray
5aef34884c
texture optional frame parameters
not specifying frame works on said methods
2018-12-21 08:25:42 -08:00
Richard Davey
a2723249a3 CanvasTexture.destroy is a new method that specifically handles the destruction of the CanvasTexture and all of its associated typed arrays. This prevents a memory leak when creating and destroying lots of RenderTextures (which are CanvasTexture backed). Fix #4239 2018-12-18 15:21:24 +00:00
Richard Davey
032c7bd405
Merge pull request #4227 from jcyuan/Branch_v3.15.1
TS definition improvements in doc for v3.15.1 release
2018-12-13 11:58:27 +00:00
J.C
b6c2934e65 doc improvement for typescript 2018-12-13 17:17:09 +08:00
J.C
a3d2ccf65c doc improvement for typescript 2018-12-13 17:17:02 +08:00
Richard Davey
caad527b29 Added getData and putData methods. 2018-12-13 00:30:13 +00:00
Richard Davey
62b489ee04 Merge branch 'master' of https://github.com/photonstorm/phaser 2018-12-11 23:22:04 +00:00
Richard Davey
69e6643800 Added setPixel method. 2018-12-11 23:22:00 +00:00
Richard Davey
d9f89fbde1 Fixed lint error, added docs. 2018-12-11 09:31:56 +00:00
Richard Davey
c239700528 Added getIndex and getPixels methods. 2018-12-11 02:37:00 +00:00
Richard Davey
84bf2e5e93 lint fix 2018-12-08 14:59:07 +00:00
Richard Davey
c3524b345f Added CanvasTexture.drawFrame method. 2018-12-08 13:10:55 +00:00
Richard Davey
7d34db2753 Added clear region arguments 2018-12-07 19:28:38 +00:00
Richard Davey
e9b22500c0
Merge pull request #4097 from Cirras/atlas-to-spritesheet-trimming
Improved trim handling for Spritesheets created from trimmed Texture Atlas Frames
2018-10-19 13:38:24 +01:00
Richard Davey
4c4421c47f Docjam merge 2018-10-19 12:32:43 +01:00
Richard Davey
9dc53d1e5a The WebGLRenderer method canvasToTexture has a new optional argument noRepeat which will stop it from using gl.REPEAT entirely. This is now used by the Text object to avoid it potentially switching between a REPEAT and CLAMP texture, causing texture black-outs 2018-10-12 15:08:53 +01:00
Richard Davey
4b1c762296 Updated @memberOf to @memberof 2018-10-10 10:49:13 +01:00
Richard Davey
a9063604dc Replace @readOnly with @readonly 2018-10-09 13:40:00 +01:00
Cirras
82da94bd46
Improved trim handling for Spritesheets created from trimmed Texture Atlases frames
Fixes issue #4096.
2018-10-06 18:37:37 +10:00
Cirras
0d7d828311
Make Texture.add() firstFrame check more explicit
Fixes issue #4088 where a SpriteSheet created from a trimmed texture atlas frame returns the second frame when the first frame is requested.
2018-10-05 04:29:17 +10:00
Richard Davey
3944e580cc Fixed an error in the batchSprite methods in the Canvas and WebGL Renderers that would incorrectly set the frame dimensions on Sprites with the crop component. This was particularly noticeable on Sprites with trimmed animation frames 2018-09-27 16:49:52 +01:00
Richard Davey
d8fcde46c3 When using CanvasTexture.refresh or Graphics.generateTexture it would throw WebGL warnings like 'bindTexture: Attempt to bind a deleted texture'. This was due to the Frames losing sync with the glTexture reference used by their TextureSource. Fix #4050 2018-09-27 14:16:22 +01:00
Richard Davey
a17b0c2e6c jsdoc fixes 2018-09-27 14:16:09 +01:00
Richard Davey
ab48c1c479 The Texture.getFramesFromTextureSource method has a new boolean argument includeBase, which defaults to false and allows you to set if the base frame should be returned into the array or not.
The `Texture.getFramesFromTextureSource` method was returning an array of Frame names by mistake, instead of Frame references. It now returns the Frames themselves.
2018-09-27 14:11:14 +01:00
Richard Davey
855fde1adb Rebind the source texture 2018-09-13 13:23:42 +01:00
Richard Davey
8ab3240656 Added jsdocs 2018-09-10 20:44:19 +01:00
Richard Davey
4ac490eac8 Added draw method 2018-09-08 01:19:25 +01:00
Richard Davey
9ec4b3433f Updated CanvasTexture class
Fixed jsdoc names.
Added getPixels, imageData, array buffer and other pixel reading properties.
2018-09-07 19:29:58 +01:00
Richard Davey
57758942d1 Account for trim in pixel perfect hit tests. Fix #3938 2018-08-22 17:11:20 +01:00
Richard Davey
2dfe321d67 The getPixelAlpha and getPixel methods in the Texture Manager would allow x/y coordinates from outside the cut area of a frame. It now tests to ensure they're within the frame. Fix #3937 2018-08-21 23:25:08 +01:00
Richard Davey
50baa268e3 addBase64 will return intance for chaining 2018-08-07 16:26:15 +01:00
Richard Davey
fbb67ac201 The CanvasRenderer.DrawImage function has been removed, as has the associated drawImage property from the Canvas Renderer as they're no longer used. 2018-08-06 15:24:51 +01:00
Richard Davey
177e47cb84 The Texture Manager has a new method called renameTexture which will let you rename a texture, changing the key to the new one given. All existing Game Objects will still maintain their reference, even after a rename. 2018-08-03 19:03:52 +01:00
Richard Davey
921cc738d9 Render Textures now use the frame source to store the glTexture in, not locally. 2018-08-03 18:51:07 +01:00
Richard Davey
217bfd2343 Sorting out frame access 2018-08-02 17:59:19 +01:00
Richard Davey
2a66e01577 Added source property so we can purge TSs based on origin 2018-08-02 16:16:46 +01:00
Richard Davey
7566236d9b Added isRenderTexture property. 2018-08-02 12:34:57 +01:00
Richard Davey
261cb79d0d Added addRenderTexture method. 2018-08-02 12:34:01 +01:00
Richard Davey
3efc800bf7 Use global string to cut down on size a little. 2018-08-02 12:33:48 +01:00
Richard Davey
73524df816 The Game boot event flow has changed slightly. The Game will now listen for a texturesready event, which is dispatched by the Texture Manager when the default textures have finished processing. Upon receiving this, the Game will emit the ready event, which all the other systems listen for and respond to. The difference is that the Renderer uses the texturesready event to ensure that it is the first thing to be activated, before any other system. 2018-08-01 13:18:28 +01:00
Richard Davey
08b7d00ce9 Fixed base64 method 2018-07-27 11:19:12 +01:00
Richard Davey
c1111753f0 Added getBase64 method 2018-07-27 09:43:12 +01:00
Edwin222
a137883628 Merge remote-tracking branch 'upstream/master' 2018-07-14 17:00:38 +09:00
Richard Davey
e388b7dae5 Tidy up 2018-07-11 16:23:57 +01:00
Richard Davey
1a7d726a4b jsdoc udpate 2018-07-11 12:33:40 +01:00
Andrew Groff
5c853c640f Fixing code style and making console warning more concise 2018-07-08 15:12:02 -07:00
Andrew Groff
cca6dd605c Adding console warning to notify users when their frame config does not create any frames 2018-07-08 03:22:04 -07:00
Richard Davey
6483cdacb5 Added canvas crop data 2018-07-06 15:34:12 +01:00
Richard Davey
dfebd940c2 Trim flip fixed and function tidied up 2018-07-06 12:33:39 +01:00
Richard Davey
4e1cbc01d8 Removed object creation 2018-07-06 12:22:05 +01:00
Richard Davey
cca6cd0b83 Fixed trimmed frame crop 2018-07-06 12:14:25 +01:00
Richard Davey
9ead9705c4 Preparing for trim crop support 2018-07-05 23:55:12 +01:00
Richard Davey
5063fe30e5 Fixed cropping when texture frame is flipped 2018-07-05 23:01:26 +01:00
Richard Davey
9bd8fb34a4 Changed canvasData to remove duplicate properties. 2018-07-04 17:01:29 +01:00
Richard Davey
43fc988034 Moved crop UV handler to the Frame method. Cleaner and easier. 2018-07-04 15:18:08 +01:00
Richard Davey
436d92831c Added getCropUVs method 2018-07-03 16:47:53 +01:00
Richard Davey
c82c09914e Updated UV values 2018-07-02 23:51:42 +01:00
Richard Davey
8a7ead03a8 Frame.glTexture is a new property that maps to the WebGL Texture for the Frames Texture Source image. It's used internally by the renderer to avoid expensive object look-ups and is set automatically in the Frame constructor. 2018-07-02 13:43:35 +01:00
Richard Davey
8c312090da Solidified use of pixelArt mode 2018-06-27 15:27:16 +01:00
Richard Davey
7a23378015 Unified use of roundPixels, antialias and pixelArt modes 2018-06-27 15:15:00 +01:00
Edwin222
57f159c64b Add description comments to TextureManager.js 2018-06-23 17:20:49 +09:00
Richard Davey
a49e770f89 Added getPixelAlpha method 2018-06-08 17:50:26 +01:00
Richard Davey
350cb037b7 All systems now register themselves with the new PluginCache 2018-05-15 12:51:50 +01:00
Richard Davey
f410dc3d88 The Headless renderer was broken due to an invalid access during TextureSource.init. 2018-05-15 08:51:54 +01:00
Richard Davey
29aec01b6f Bumping to 3.7.0 2018-05-04 18:51:02 +01:00
Richard Davey
6d83cae2dc The Texture class has a new method getDataSourceImage which will return the raw image data of the data source. 2018-05-04 14:33:02 +01:00
Richard Davey
b0c853a782 Added in normal map support 2018-05-04 14:32:13 +01:00
Richard Davey
c34de6acdf lint fixes and console removal 2018-05-04 02:46:38 +01:00
Richard Davey
77250b1ba3 Shorter warning. 2018-05-04 02:37:41 +01:00
Richard Davey
e1b252e4fd Removed un-used texture parsers and added in new AtlasXML parser. 2018-05-04 02:37:32 +01:00
Richard Davey
47f647206f Added multi atlas support back in. Pack files can now load multi-atlas files too. 2018-05-03 14:19:40 +01:00
Richard Davey
cd288b33c2 eslint fixes 2018-04-23 23:52:57 +01:00
Richard Davey
6ff2cc6ba9 The new CanvasTexture class now working and linked to examples. 2018-04-23 23:46:59 +01:00
Richard Davey
152c68eca3 TextureManager.checkKey will check if a texture key is in-use and log a console warning if it is and then return a boolean. 2018-04-23 23:42:42 +01:00
Richard Davey
649adb51d3 When a TextureSource is destroyed if it's got a canvas texture it's removed from the CanvasPool. 2018-04-23 23:41:05 +01:00
Richard Davey
dd954def9d Updated jsdoc 2018-04-23 23:40:23 +01:00
Richard Davey
0aa071f734 Frame has a new method setSize which allows you to set the frame x, y, width and height and have it update all of the internal properties automatically. 2018-04-23 23:40:12 +01:00
Richard Davey
006d501fbe Added remove method 2018-04-23 19:11:47 +01:00
Richard Davey
4a58ed3935 The start of a new CanvasTexture class 2018-04-23 18:37:44 +01:00
Richard Davey
d96d677bea TextureSource will automatically create a canvas texture if required and holds a reference to the renderer internally 2018-04-23 18:37:30 +01:00
Richard Davey
e685c50f8a Clear manager 2018-04-23 17:30:18 +01:00
Richard Davey
445439e253 The Texture Manager will now emit an addtexture event whenever you add a new texture to it, which includes when you load images files from the Loader (as it automatically populates the Texture Manager). Once you receive an addtexture event you know the image is loaded and the texture is safe to be applied to a Game Object. 2018-04-20 18:57:23 +01:00
Richard Davey
f73e18043f jsdoc fix 2018-04-18 13:35:43 +01:00
Richard Davey
6e77557375 jsdoc fixes 2018-04-18 13:34:22 +01:00
Richard Davey
ea0bdce26a Updated jsdocs 2018-04-16 16:37:07 +01:00
Richard Davey
9e0f113c92 Added jsdocs 2018-04-07 16:16:03 +01:00
Evan
582a742373 filling in most of the jsdocs for GetFastValue and SpriteSheetFromAtlas 2018-04-05 14:21:40 -05:00
Richard Davey
1a73f22780 Removed braces 2018-03-30 13:57:17 +01:00
Richard Davey
51eec113a9 jsdoc tweak 2018-03-30 13:56:53 +01:00
Richard Davey
2d6251a1e9 Swapping to enums 2018-03-29 16:42:20 +01:00
Richard Davey
9f36b5e8b4 const / enum 2018-03-29 15:50:48 +01:00
Richard Davey
37589ffe00 jsdoc updates 2018-03-29 15:12:32 +01:00
orblazer
1f5c5b1f77
Remove unused import 2018-03-28 21:30:03 +02:00