55*/
66Phaser . Renderer . WebGL . GameObjects . Graphics = {
77
8- render : function ( renderer )
9- {
10- var local = Phaser . Renderer . Canvas . GameObjects . Graphics ;
8+ TYPES : [
9+ Phaser . Graphics . prototype
10+ ] ,
1111
12- if ( this . visible === false || this . alpha === 0 || this . isMask === true )
12+ render : function ( renderer , src )
13+ {
14+ if ( src . visible === false || src . alpha === 0 || src . isMask === true )
1315 {
1416 return ;
1517 }
1618
17- if ( this . _cacheAsBitmap )
19+ if ( src . _cacheAsBitmap )
1820 {
19- if ( this . dirty || this . cachedSpriteDirty )
21+ if ( src . dirty || src . cachedSpriteDirty )
2022 {
21- this . _generateCachedSprite ( ) ;
23+ src . _generateCachedSprite ( ) ;
2224
2325 // we will also need to update the texture on the gpu too!
24- this . updateCachedSpriteTexture ( ) ;
26+ src . updateCachedSpriteTexture ( ) ;
2527
26- this . cachedSpriteDirty = false ;
27- this . dirty = false ;
28+ src . cachedSpriteDirty = false ;
29+ src . dirty = false ;
2830 }
2931
30- this . _cachedSprite . worldAlpha = this . worldAlpha ;
32+ src . _cachedSprite . worldAlpha = src . worldAlpha ;
3133
3234 // PIXI.Sprite.prototype._renderWebGL.call(this._cachedSprite, renderSession);
3335
@@ -36,59 +38,60 @@ Phaser.Renderer.WebGL.GameObjects.Graphics = {
3638 else
3739 {
3840 renderer . spriteBatch . stop ( ) ;
39- renderer . setBlendMode ( this . blendMode ) ;
41+ renderer . setBlendMode ( src . blendMode ) ;
4042
41- if ( this . _mask )
43+ if ( src . _mask )
4244 {
43- renderer . pushMask ( this . _mask ) ;
45+ renderer . pushMask ( src . _mask ) ;
4446 }
4547
46- if ( this . _filters )
48+ if ( src . _filters )
4749 {
48- renderer . filterManager . pushFilter ( this . _filterBlock ) ;
50+ renderer . filterManager . pushFilter ( src . _filterBlock ) ;
4951 }
5052
5153 // check blend mode
52- if ( this . blendMode !== renderer . spriteBatch . currentBlendMode )
54+ if ( src . blendMode !== renderer . spriteBatch . currentBlendMode )
5355 {
54- renderer . spriteBatch . currentBlendMode = this . blendMode ;
56+ renderer . spriteBatch . currentBlendMode = src . blendMode ;
5557
5658 var blendModeWebGL = renderer . blendModes [ renderer . spriteBatch . currentBlendMode ] ;
5759
5860 renderer . spriteBatch . gl . blendFunc ( blendModeWebGL [ 0 ] , blendModeWebGL [ 1 ] ) ;
5961 }
6062
6163 // check if the webgl graphic needs to be updated
62- if ( this . webGLDirty )
64+ if ( src . webGLDirty )
6365 {
64- this . dirty = true ;
65- this . webGLDirty = false ;
66+ src . dirty = true ;
67+ src . webGLDirty = false ;
6668 }
6769
6870 // Merge with this class
6971 // PIXI.WebGLGraphics.renderGraphics(this, renderSession);
7072
7173 // only render if it has children!
72- if ( this . children . length )
74+ if ( src . children . length )
7375 {
7476 renderer . spriteBatch . start ( ) ;
7577
76- for ( var i = 0 ; i < this . children . length ; i ++ )
78+ for ( var i = 0 ; i < src . children . length ; i ++ )
7779 {
78- this . children [ i ] . render ( renderer ) ;
80+ var child = src . children [ i ] ;
81+ child . render ( renderer , child ) ;
7982 }
8083
8184 renderer . spriteBatch . stop ( ) ;
8285 }
8386
84- if ( this . _filters )
87+ if ( src . _filters )
8588 {
8689 renderer . filterManager . popFilter ( ) ;
8790 }
8891
89- if ( this . _mask )
92+ if ( src . _mask )
9093 {
91- renderer . popMask ( this . mask ) ;
94+ renderer . popMask ( src . mask ) ;
9295 }
9396
9497 renderer . drawCount ++ ;
0 commit comments