@@ -82,7 +82,6 @@ def __init__(self, parent=None, image_names=None):
8282 self .blit_manager = BlitManager (self )
8383 self .raw_view_images_dict = {}
8484 self ._mask_boundary_artists = []
85- self ._mask_highlight_artists = []
8685 self ._latest_compute_view_worker = None
8786 self ._waterfall_plot_dialog = None
8887
@@ -397,6 +396,10 @@ def blit_artists(self):
397396 def overlay_artists (self ):
398397 return self .blit_artists .setdefault ('overlays' , {})
399398
399+ @property
400+ def mask_highlight_artists (self ):
401+ return self .blit_artists .setdefault ('mask_highlights' , {})
402+
400403 def remove_all_overlay_artists (self ):
401404 self .blit_manager .remove_artists ('overlays' )
402405 self .blit_manager .artists ['overlays' ] = {}
@@ -2219,10 +2222,7 @@ def update_mask_highlights(self, axis):
22192222 self .highlight_masks (axis )
22202223
22212224 def clear_mask_highlights (self ):
2222- for artist in self ._mask_highlight_artists :
2223- artist .remove ()
2224-
2225- self ._mask_highlight_artists .clear ()
2225+ self .remove_all_mask_highlight_artists ()
22262226
22272227 def get_mask_verts (self , visible_attr , det = None ):
22282228 # Create an instrument once that we will re-use
@@ -2325,9 +2325,23 @@ def highlight_masks(self, axis, det=None):
23252325 'edgecolor' : 'none' ,
23262326 'fill' : True ,
23272327 }
2328+
2329+ highlight_artists = self .mask_highlight_artists .setdefault (det or 'default' , [])
2330+
23282331 for vert in all_verts :
23292332 polygon = Polygon (vert , ** kwargs )
2330- self ._mask_highlight_artists .append (axis .add_patch (polygon ))
2333+ polygon .set_animated (True )
2334+ axis .add_patch (polygon )
2335+ highlight_artists .append (polygon )
2336+
2337+ self .blit_manager .update ()
2338+
2339+ def remove_all_mask_highlight_artists (self ):
2340+ self .blit_manager .remove_artists ('mask_highlights' )
2341+ self .blit_manager .artists ['mask_highlights' ] = {}
2342+
2343+ def remove_mask_highlight_artists (self , key ):
2344+ self .blit_manager .remove_artists ('mask_highlights' , key )
23312345
23322346
23332347class PolarXAxisTickLocator (AutoLocator ):
0 commit comments