Commit graph

235 commits

Author SHA1 Message Date
photonstorm
915a757f96 Text.updateText will now check the width and height values of the Text canvas and if either are zero it sets Text.renderable = false to avoid throwing WebGL texture binding errors. 2015-07-22 12:43:43 +01:00
photonstorm
f15fe6706c All undefined argument checks were changed from if (typeof x === 'undefined') to if (x === undefined) removing the typeof check and saving some bytes across the codebase in the process. 2015-07-22 10:37:15 +01:00
Richard Davey
fc1e0de790 Merge pull request #1923 from mkristo/pixi-patch
Make PIXI available for Phaser when using require
2015-07-21 16:14:09 +01:00
photonstorm
7144b10ad5 TileSprites fixed for WebGL. 2015-07-21 13:24:12 +01:00
Markus Kristo
6d742155bf Make sure PIXI is available when using require for phaser builds
This is a hackish solution, and would not be needed if Phaser used require and a JS bundler like webpack
2015-07-21 10:55:54 +02:00
Richard Davey
f552615982 Fixed RenderTexture in WebGL. 2015-07-16 02:27:07 +01:00
Richard Davey
1c9fb614a4 PIXI._CompileShader can now take an array or a string for the fragment src. 2015-07-15 23:20:39 +01:00
Richard Davey
44c650f6e7 PIXI.DisplayObject.updateTransform now nulls the _currentBounds property (thanks @gaufqwi #1906) 2015-07-12 12:01:38 +01:00
photonstorm
45f06bd01c Fixed #1866 2015-07-09 16:41:53 +01:00
photonstorm
87ac0b8f50 jsdoc tweak. 2015-07-08 16:40:40 +01:00
photonstorm
29f9eeabc6 RenderTexture now takes the display objects alpha into consideration when rendering it, before it would always reset worldAlpha to 1 before rendering, thus ignoring any alpha that may be set. 2015-07-02 13:28:44 +01:00
photonstorm
a69c156526 The Text Bounds is a rectangular region that allows you to align your text within it, regardless of the number of lines of text or position within the world. For example in an 800x600 sized game if you set the textBounds to be 0,0,800,600 and text alignment to 'left' and vertical alignment to 'bottom' then the text will render in the bottom-right hand corner of the game, regardless of the size of font you're using or the number of lines in the text itself.
Set the Style properties `boundsAlignH` and `boundsAlignV` or adjust them via the Text setters to change the alignment.

It works by calculating the final position based on the Text.canvas size, which is modified as the text is updated. Some fonts have additional padding around them which you can mitigate by tweaking the Text.padding property.

Setting a textBounds _doesn't_ update the wordWrapWidth, so be aware of the relationship between the two.

Call this method with nothing defined for any of the parameters to reset an existing textBounds.

#1824
2015-06-17 17:18:04 +01:00
photonstorm
0258245f12 Phaser.Text no longer extends PIXI.Text but replaces it entirely. Phaser.Text now natively extends a Phaser Sprite, meaning it can be enabled for physics, damaged, etc. 2015-06-17 13:21:28 +01:00
photonstorm
cf83f51315 Added textureDebug boolean - allows you to visually debug the generated texture a TilingSprite creates. 2015-06-16 18:31:39 +01:00
photonstorm
b481402ae4 Due to a Pixi 2 issue TileSprite when running under WebGL didn't respect the world alpha setting and would only work with its own alpha (thanks @hanenbro #1774) 2015-06-16 17:03:19 +01:00
photonstorm
c0c3fef420 jsdocs update. 2015-06-16 14:16:04 +01:00
nextht
6f5d4b93b8 Fix mask combine filter bug
In the demo (code below), i create a group with a rect mask, and create a sprite as child with a blurXY filter, then nothing is displayed. 
So i hack WebGLFilterManager's pushFilter and popFilter method, in pushFilter method i create a new stencilManager instance and cache the old one, in popFilter i destroy the new stencilManager and restore the old one, then this workaround works rightly as i expect.

I think this is bug for PIXI, so i hope @GoodBoyDigital and @photonstorm can help me to check whether this fixing is right or not, thanks.
 
		var game = new Phaser.Game(800, 600, Phaser.WEBGL, 'phaser-example', { preload: preload, create: create });

		function preload() {

			game.load.image('phaser', 'assets/sprites/phaser2.png');
			game.load.script('filterX', '../filters/BlurX.js');
			game.load.script('filterY', '../filters/BlurY.js');

		}

		function create() {

			var logo = game.add.sprite(game.world.centerX, game.world.centerY, 'phaser');
			logo.anchor.setTo(0.5, 0.5);

			var blurX = game.add.filter('BlurX');
			var blurY = game.add.filter('BlurY');

			logo.filters = [blurX, blurY];
			var group = game.add.group();
				group.addChild(logo);
				group.mask = game.add.graphics();
				group.mask.beginFill(0xff);
				group.mask.drawRect(0,0,500,500);
		}
2015-06-08 20:43:20 +08:00
Richard Davey
660ab8510c Merge pull request #1833 from danxexe/fix-drawcircle-docstring
Fix docstring of drawCircle
2015-06-04 04:23:45 +01:00
DanX
860d2e9538 Fix docstring of drawCircle 2015-06-03 13:41:42 -03:00
photonstorm
52b1b499a8 Removed un-needed Pixi file. 2015-06-03 05:28:24 +01:00
photonstorm
17648b74db Complete refactoring of PIXI.updateText - now properly respects the maxWidth setting regardless of kerning or font scale. 2015-06-03 05:28:23 +01:00
photonstorm
cc5740af10 BitmapText line spacing and word wrapping has been vastly improved and bought in-line with how Pixi 3 handles it, but with additional anchor support. 2015-05-31 01:31:11 +01:00
photonstorm
1e2940a6a4 PIXI.Graphics was calling Polygon.flatten in its drawShape call, causing the original Polygon object to internally change. It now takes a clone of the polygon and only flattens that (#1779) 2015-05-19 14:53:32 +01:00
photonstorm
9b95026cc9 Removed ConvertTintToImage as the Image object it created was never returned or used anywhere, so pointless having.
Optimised the canvas creation - before it was creating a new canvas every time it tinted a sprite.
Removed un-used tint method (tint with overlay)
Optimised tintWithMultiply.
2015-05-08 04:14:56 +01:00
photonstorm
8e6f9574ea Heavily tweaked tint texture handling. Can now be set by a texture and cached internally. 2015-05-08 04:13:34 +01:00
photonstorm
2cd59bbf32 Tidying up docs and formatting. 2015-05-08 04:12:07 +01:00
photonstorm
6f351ff0c1 Texture.requiresReTint is a new property that controls if a texture requires the display object to be re-tinted having been updated internally. The LoadTexture component now sets this. 2015-05-08 04:11:48 +01:00
photonstorm
9cb7122743 Improved code formatting. 2015-05-08 01:51:06 +01:00
photonstorm
12362a8300 Mark new textures as valid. 2015-05-07 02:44:29 +01:00
photonstorm
7674060afc Removed PIXI.EventListener and VideoTexture as it's no longer required. 2015-05-06 01:59:49 +01:00
photonstorm
df6dc70a41 Various VideoTexture tests (this file will be removed shortly however). 2015-05-05 14:02:38 +01:00
photonstorm
a686f6e212 PIXI.DisplayObject.worldPosition contains the position of the DisplayObject (and therefore any object that inherits from it, such as Phaser.Sprite) taking into account all transforms in the display list. It is updated at the end of DisplayObject.updateTransform. DisplayObject.position reflects only the position applied to the object directly, whereas worldPosition includes the positions that may have been applied to its ancestors.
PIXI.DisplayObject.worldScale contains the scale of the DisplayObject (and therefore any object that inherits from it, such as Phaser.Sprite) taking into account all transforms in the display list. It is updated at the end of `DisplayObject.updateTransform`. DisplayObject.scale reflects only the scale applied to the object directly, whereas worldScale includes any scales that may have been applied to its ancestors.

PIXI.DisplayObject.worldRotation contains the rotation of the DisplayObject (and therefore any object that inherits from it, such as Phaser.Sprite) taking into account all transforms in the display list. It is updated at the end of `DisplayObject.updateTransform`. DisplayObject.rotation reflects only the rotation applied to the object directly, whereas worldRotation includes any rotations that may have been applied to its ancestors.
2015-05-03 13:53:03 +01:00
photonstorm
df3c684760 PIXI.BaseTexture.forceLoaded allows you to set a BaseTexture as loaded, with the given width and height. It then calls BaseTexture.dirty. This is important for when you don't want to modify the shape of the source object by forcing in complete or dimension properties it may not naturally have, but still wish to use it as a base texture. 2015-05-03 13:53:02 +01:00
photonstorm
3f51463c7b PIXI.CanvasTinter.tintWithMultiply was performing a double drawImage operation for no reason. Simplified down to a single drawImage call. 2015-05-03 13:53:02 +01:00
photonstorm
e291f6d590 Added type parameter to VideoTexture.fromUrl allowing you to define the mime-type of the video file, which is required for Firefox and Safari in most cases. 2015-04-29 14:41:47 +01:00
photonstorm
c461c26393 Added onUpdate signal. 2015-04-27 16:22:36 +01:00
photonstorm
5d680ce4d4 pause not stop. 2015-04-27 16:22:35 +01:00
photonstorm
214e8abcda Added play and stop methods and related signals. 2015-04-23 02:35:27 +01:00
Richard Davey
fa5ed16f7d Trying something out :) 2015-04-22 04:22:17 +01:00
Richard Davey
be65b08e3b Close to getting WebGL Tiling Sprites back again - animations now work too, but the placement isn't quite right. 2015-04-22 01:36:12 +01:00
photonstorm
aa9ea30e79 Working through fixing TilingSprites for WebGL. 2015-04-21 17:01:24 +01:00
photonstorm
04e7be38bf Heavily refactored. Vastly optimised generateTexture method. Canvas renderer now works correctly with animated sprites, texture atlases and trimmed sprites. Warning: Currently breaks WebGL rendering. Will fix soon. 2015-04-21 15:57:17 +01:00
photonstorm
8fb5a89e1f Added video alias. 2015-04-21 05:11:31 +01:00
photonstorm
8981e9603e Removed Frame.uuid and updating TileSprite to work with animated sprites. 2015-04-21 05:11:19 +01:00
photonstorm
a5c14befa7 Formatting. 2015-04-17 19:56:14 +01:00
photonstorm
21de1e7c09 Added delayed load event handling back in. 2015-04-17 19:55:53 +01:00
photonstorm
97bc582f8d Added VideoTexture support back in and fixed various load related issues. 2015-04-17 19:55:30 +01:00
photonstorm
b196e4f17e Enabled PIXI.VideoTexture support. 2015-04-17 17:36:20 +01:00
photonstorm
2e2ba665cd PIXI.DisplayObject.updateTransform has a new optional parameter parent. If the DisplayObject doesn't have a parent (i.e. it isn't on the display list yet) then in the past updateTransform would fail. This meant you couldn't do things like scale or rotate a Sprite and then draw it to a RenderTexture or BitmapData, as calls to updateTransform would be ignored. The new checks now look to see if the parent parameter is set. If so this takes priority over the actual parent and is used to modify the transform (note that it **doesn't** reparent the DisplayObject, it merely uses it for the transform.) If there is no parent (explicitly or via the parameter) then it falls back to use Phaser.World as the parent. If it can't reach that then no transform takes place. 2015-04-17 03:22:23 +01:00
photonstorm
3a61fa35f0 RenderTexture.render now takes a Matrix as its second parameter, not a Point object. This brings it in line with Pixi and allows you to perform much more complex transformations on the object being rendered. If you need to replicate the old behavior please use RenderTexture.renderXY(sprite, point.x, point.y) instead.
RenderTexture.render and `renderXY` would ignore the Sprites rotation or scale. The full Sprite transform is now used correctly when the Sprite is drawn to the texture. If you wish to replicate the old behavior please use `RenderTexture.renderRawXY` instead.

RenderTexture.matrix has been removed as it's no longer used.

Fixed bug in Pixi where RenderTexture.render would ignore the given matrix.

Fixed a bug in Pixi where drawing a Sprite to a RenderTexture would reset the Sprites transform to an identity Matrix.
2015-04-17 03:22:07 +01:00
photonstorm
cdfc4ff45b Pixi.Sprite.renderCanvas and renderWebGL now has a new optional matrix parameter. You can use this to render the Sprite with an alternative transform matrix without actually adjusting the Sprite matrix at all. 2015-04-17 03:20:44 +01:00
photonstorm
1f4e54eec9 Removed duplicate methods from PIXI.Text such as wordWrap and updateText as Phaser overrides them, so it was wasting bytes. 2015-04-13 21:54:14 +01:00
photonstorm
eb506e2698 PIXI.Graphics in Canvas mode wouldn't respect the objects visible or alpha zero properties, rendering it regardless (thanks @TimvdEijnden #1720) 2015-04-13 14:19:44 +01:00
photonstorm
bb8b0d04fc Graphics.drawPolygon can now accept a Phaser.Polygon or PIXI.Polygon object, as well as a points array (#1712) 2015-04-13 13:00:52 +01:00
photonstorm
36c064511c Added guards around context.getImageData calls in BitmapData, Text and Canvas Tinting classes to avoid crashing restricted browsers like Epic Browser. Please understand that several Phaser features won't work correctly with this browser (thanks @Erik3000 #1714) 2015-04-02 14:47:44 +01:00
photonstorm
c1366c2f4f Arc comment. 2015-03-25 16:13:21 +00:00
photonstorm
93dc67be71 Graphics.drawArc would fail to draw any subsequent arcs if you set beginFill on it after drawing the first arc.
Graphics.drawArc would only move to the center position of the first arc created and ignore any subsequent arcs.
Graphics.drawArc now correctly renders multiple arcs across both WebGL and Canvas. You no longer need to specifically call moveTo to move into the correct place to draw the arc.
Graphics.drawArc now bails out if the startAngle = the endAngle and/or the sweep is invalid *before* adjusting any points.
Graphics.drawArc now correctly handles the fill on the CanvasRenderer if the arc is a subsequent arc and no line style is set.
2015-03-25 13:00:08 +00:00
photonstorm
d45a7bae8e Fixed constructor. 2015-03-25 12:59:41 +00:00
photonstorm
e7400be625 Formatting updates. 2015-03-25 12:59:31 +00:00
photonstorm
b1cdb358bb Merging in fixes from Pixi 3. 2015-03-25 11:04:58 +00:00
photonstorm
17b2eafbf3 Split GraphicsData to its own file. 2015-03-25 11:04:48 +00:00
photonstorm
7010883bc3 Tidying up. 2015-03-23 15:07:09 +00:00
photonstorm
55048a4b25 BitmapText objects now have an anchor property. This works in a similar way to Sprite.anchor except that it offsets the position of each letter of the BitmapText by the given amount, based on the overall BitmapText width - whereas Sprite.anchor offsets the position the texture is drawn at. 2015-03-23 15:03:53 +00:00
photonstorm
4e3d189678 Updated Pixi version. 2015-03-23 08:13:59 +00:00
photonstorm
b13acdb23b TilingSprite.destroy fixed if TilingSprite hasn't ever been rendered (#1663) 2015-03-19 01:39:39 +00:00
photonstorm
6cf982a4a0 Fixed to Destroy component if still in render loop. 2015-03-11 01:44:46 +00:00
photonstorm
ee61d95980 Tidying up the Pixi source.
Added DisplayObject.destroy to cleanly remove all references, callbacks and cached textures (fixes #1656)
2015-03-10 15:13:37 +00:00
photonstorm
0516167c3d Finally tracked down the rogue bug causing Graphics objects to not work with various components (fix #1654) 2015-03-10 14:23:49 +00:00
photonstorm
fe9a9fcd63 More Pixi updates. 2015-03-05 19:26:53 +00:00
photonstorm
d717c5c180 Removed final traces of _interactive properties and checks. Also added preUpdate catch. 2015-03-05 14:01:43 +00:00
photonstorm
41396d5ad2 Merged all of the relevant Pixi 2.2.7 fixes in (#1621) 2015-02-25 17:04:48 +00:00
photonstorm
ee48675a28 Fixed trimmed TileSprites in Canvas (WebGL still broken, as it's broken in Pixi also) 2015-02-25 02:49:38 +00:00
photonstorm
bec18cb46c Removed redundant event call. 2015-02-19 15:27:59 +00:00
photonstorm
88ab104da4 BitmapText has a new maxWidth property that will attempt to wrap the text if it exceeds the width specified. 2015-02-18 22:36:12 +00:00
photonstorm
819826ce08 Added Polygon.flatten and Polygon.toNumberArray.
Fixed Graphics.lineTo if no moveTo has been specified.
Fixed Graphics.drawShape if a mixed-type Polygon has been given.
2015-02-17 18:03:15 +00:00
photonstorm
f59d7e3430 Working through Graphics class updates. 2015-02-17 16:40:41 +00:00
photonstorm
8f86f911af Formatting. 2015-02-17 16:39:29 +00:00
photonstorm
872048eb6c Commented-out all EventListener related code for testing. 2015-02-17 16:39:14 +00:00
photonstorm
7b9ae51f6f Removed duplicate polyfills. 2015-02-17 16:38:44 +00:00
photonstorm
f561659367 Removed sayHello (covered in Phaser banner) 2015-02-17 15:50:31 +00:00
photonstorm
5b8635d334 Removed all Stage interaction related code. 2015-02-17 15:50:12 +00:00
photonstorm
8c786a2df5 Removing Pixi files no longer used in this build of Phaser. 2015-02-17 15:46:52 +00:00
photonstorm
57ff6f4176 Fixed applyInverse point cache bug. 2015-02-17 05:14:09 +00:00
photonstorm
e9a77d95eb Deviations, oh the horror! 2015-02-12 09:44:53 +00:00
photonstorm
b692d3b456 PIXI.TextureSilentFail is a boolean that defaults to false. If true then PIXI.Texture.setFrame will no longer throw an error if the texture dimensions are incorrect. Instead Texture.valid will be set to false (#1556) 2015-02-11 22:10:53 +00:00
photonstorm
8892f46a83 PIXI.WebGLRenderer.destroy has been fixed to decrement the glContextId and remove it from the PIXI.instances global. Game.destroy now hooks into this. This now means that you can now delete and create your Phaser game over and over without it crashing WebGL after the 4th attempt (#1260) 2015-02-11 21:02:15 +00:00
photonstorm
dfc8ff32d2 You can now tint animated Sprites in Canvas mode. Or change the texture atlas frame of a tinted Sprite or Image. Please note that this is pretty expensive (depending in the browser), as the tint is re-applied every time the *frame changes*. The Pixi tint cache has also been removed to allow for subtle tint color shifts and to avoid blowing up memory. So use this feature sparingly! But at least it does now work (#1070) 2015-02-10 14:53:55 +00:00
photonstorm
4489a12fd8 Sprite.loadTexture and Image.loadTexture now no longer call updateTexture if the texture given is a RenderTexture. This fixes issues with RetroFonts in IE11 WebGL as well as other RenderTexture related IE11 problems (#1310 #1381 #1523) 2015-02-10 12:27:55 +00:00
photonstorm
ff04754bb8 Text width calculation strings made consistent. 2015-02-08 22:07:47 +00:00
photonstorm
336fdfa672 TileSprites weren't destroying WebGL textures, leading to eventual out of memory errors (thanks @chacal #1563) 2015-02-03 21:32:39 +00:00
photonstorm
2b74d903d4 jsdoc fix. 2015-02-03 16:17:14 +00:00
photonstorm
260490fe06 Fixed issue in PIXI.canUseNewCanvasBlendModes which would create false positives in browsers that supported multiply in Canvas path/fill ops, but not for drawImage (Samsung S5 for example). Now uses more accurate magenta / yellow mix test. 2015-02-03 16:16:25 +00:00
photonstorm
4e9291eadc TileSprite.loadTexture crashed when textures were updated in WebGL (thanks @pandavigoureux29 #1495) 2015-01-05 19:00:42 +00:00
photonstorm
4a27130e10 Commented out crashing call. 2015-01-05 13:24:49 +00:00
photonstorm
eff9759f8c Updated to Pixi 2.2.0 release. 2014-12-17 13:50:28 +00:00
photonstorm
22e8340df7 Fixes issue where Pixi CanvasTint didn't allow for browsers that bit-shift the alpha value on putImageData (Android Stock Browser, I'm looking at you!) 2014-12-09 15:27:26 +00:00
photonstorm
b0d8e43128 And Pixi fixed the premult alpha issue properly. Back in again! 2014-12-03 21:20:41 +00:00
photonstorm
b05d745c40 Reverted changes as they broke all alpha support. Will put back once fixed in Pixi. 2014-12-03 20:54:25 +00:00
photonstorm
eb6a09ca0a Pixi update. 2014-12-03 09:18:43 +00:00
photonstorm
9d79605447 Pixi 2.2.0 merged. 2014-12-02 11:01:57 +00:00