@@ -89,6 +89,7 @@ export class Stage extends Group implements IStage {
8989 beforeRender : ISyncHook < [ IStage ] > ;
9090 afterRender : ISyncHook < [ IStage ] > ;
9191 afterClearScreen : ISyncHook < [ IRenderServiceDrawParams ] > ;
92+ afterClearRect : ISyncHook < [ IRenderServiceDrawParams ] > ;
9293 } ;
9394
9495 set viewBox ( b : IBoundsLike ) {
@@ -190,6 +191,7 @@ export class Stage extends Group implements IStage {
190191 protected _beforeRender ?: ( stage : IStage ) => void ;
191192 protected _afterRender ?: ( stage : IStage ) => void ;
192193 protected _afterClearScreen ?: ( drawParams : any ) => void ;
194+ protected _afterClearRect ?: ( drawParams : any ) => void ;
193195 // 0: 正常渲染, > 0: 跳过隐藏canvas的渲染, < 0: 禁止渲染
194196 protected _skipRender ?: number ;
195197 protected _afterNextRenderCbs ?: ( ( stage : IStage ) => void ) [ ] ;
@@ -236,7 +238,8 @@ export class Stage extends Group implements IStage {
236238 this . hooks = {
237239 beforeRender : new SyncHook ( [ 'stage' ] ) ,
238240 afterRender : new SyncHook ( [ 'stage' ] ) ,
239- afterClearScreen : new SyncHook ( [ 'stage' ] )
241+ afterClearScreen : new SyncHook ( [ 'stage' ] ) ,
242+ afterClearRect : new SyncHook ( [ 'stage' ] )
240243 } ;
241244 this . global = application . global ;
242245 if ( ! this . global . env && isBrowserEnv ( ) ) {
@@ -306,9 +309,11 @@ export class Stage extends Group implements IStage {
306309 this . hooks . beforeRender . tap ( 'constructor' , this . beforeRender ) ;
307310 this . hooks . afterRender . tap ( 'constructor' , this . afterRender ) ;
308311 this . hooks . afterClearScreen . tap ( 'constructor' , this . afterClearScreen ) ;
312+ this . hooks . afterClearRect . tap ( 'constructor' , this . afterClearRect ) ;
309313 this . _beforeRender = params . beforeRender ;
310314 this . _afterRender = params . afterRender ;
311315 this . _afterClearScreen = params . afterClearScreen ;
316+ this . _afterClearRect = params . afterClearRect ;
312317 this . supportInteractiveLayer = params . interactiveLayer !== false ;
313318 if ( ! params . optimize ) {
314319 params . optimize = {
@@ -499,6 +504,9 @@ export class Stage extends Group implements IStage {
499504 protected afterClearScreen = ( drawParams : any ) => {
500505 this . _afterClearScreen && this . _afterClearScreen ( drawParams ) ;
501506 } ;
507+ protected afterClearRect = ( drawParams : any ) => {
508+ this . _afterClearRect && this . _afterClearRect ( drawParams ) ;
509+ } ;
502510
503511 protected afterRender = ( stage : IStage ) => {
504512 this . renderCount ++ ;
0 commit comments