@@ -54,15 +54,19 @@ if (cc._renderType === cc._RENDER_TYPE_CANVAS) {
5454 * drawing all renderer command to cache canvas' context
5555 * @param {CanvasRenderingContext2D } ctx
5656 * @param {Number } [instanceID]
57+ * @param {Number } [scaleX]
58+ * @param {Number } [scaleY]
5759 */
58- _renderingToCacheCanvas : function ( ctx , instanceID ) {
60+ _renderingToCacheCanvas : function ( ctx , instanceID , scaleX , scaleY ) {
5961 if ( ! ctx )
6062 cc . log ( "The context of RenderTexture is invalid." ) ;
6163
64+ scaleX = cc . isUndefined ( scaleX ) ? 1 : scaleX ;
65+ scaleY = cc . isUndefined ( scaleY ) ? 1 : scaleY ;
6266 instanceID = instanceID || this . _currentID ;
6367 var locCmds = this . _cacheToCanvasCmds [ instanceID ] , i , len ;
6468 for ( i = 0 , len = locCmds . length ; i < len ; i ++ ) {
65- locCmds [ i ] . rendering ( ctx , 1 , 1 ) ;
69+ locCmds [ i ] . rendering ( ctx , scaleX , scaleY ) ;
6670 }
6771 locCmds . length = 0 ;
6872 var locIDs = this . _cacheInstanceIds ;
@@ -530,15 +534,27 @@ if (cc._renderType === cc._RENDER_TYPE_CANVAS) {
530534
531535 //draw sprite
532536 var image = locSprite . _texture . getHtmlElementObj ( ) ;
533- context . drawImage ( image ,
534- locTextureCoord . renderX ,
535- locTextureCoord . renderY ,
536- locTextureCoord . width ,
537- locTextureCoord . height ,
538- flipXOffset , flipYOffset ,
539- locDrawSizeCanvas . width ,
540- locDrawSizeCanvas . height
541- ) ;
537+ if ( locSprite . _colorized ) {
538+ context . drawImage ( image ,
539+ 0 ,
540+ 0 ,
541+ locTextureCoord . width ,
542+ locTextureCoord . height ,
543+ flipXOffset , flipYOffset ,
544+ locDrawSizeCanvas . width ,
545+ locDrawSizeCanvas . height
546+ ) ;
547+ } else {
548+ context . drawImage ( image ,
549+ locTextureCoord . renderX ,
550+ locTextureCoord . renderY ,
551+ locTextureCoord . width ,
552+ locTextureCoord . height ,
553+ flipXOffset , flipYOffset ,
554+ locDrawSizeCanvas . width ,
555+ locDrawSizeCanvas . height
556+ ) ;
557+ }
542558
543559 context . restore ( ) ;
544560 cc . g_NumberOfDraws ++ ;
0 commit comments