@@ -212,7 +212,8 @@ def filter_destroy(event):
212212
213213 self ._tkcanvas .focus_set ()
214214
215- self ._rubberband_rect = None
215+ self ._rubberband_rect_black = None
216+ self ._rubberband_rect_white = None
216217
217218 def _update_device_pixel_ratio (self , event = None ):
218219 # Tk gives scaling with respect to 72 DPI, but Windows screens are
@@ -667,21 +668,30 @@ def set_message(self, s):
667668
668669 def draw_rubberband (self , event , x0 , y0 , x1 , y1 ):
669670 # Block copied from remove_rubberband for backend_tools convenience.
670- if self .canvas ._rubberband_rect :
671- self .canvas ._tkcanvas .delete (self .canvas ._rubberband_rect )
671+ if self .canvas ._rubberband_rect_white :
672+ self .canvas ._tkcanvas .delete (self .canvas ._rubberband_rect_white )
673+ if self .canvas ._rubberband_rect_black :
674+ self .canvas ._tkcanvas .delete (self .canvas ._rubberband_rect_black )
672675 height = self .canvas .figure .bbox .height
673676 y0 = height - y0
674677 y1 = height - y1
675- self .canvas ._rubberband_rect = self .canvas ._tkcanvas .create_rectangle (
676- x0 , y0 , x1 , y1 )
678+ self .canvas ._rubberband_rect_white = (
679+ self .canvas ._tkcanvas .create_rectangle (
680+ x0 , y0 , x1 , y1 , outline = 'white' ))
681+ self .canvas ._rubberband_rect_black = (
682+ self .canvas ._tkcanvas .create_rectangle (
683+ x0 , y0 , x1 , y1 , dash = (1 , 1 )))
677684
678685 def remove_rubberband (self ):
679- if self .canvas ._rubberband_rect :
680- self .canvas ._tkcanvas .delete (self .canvas ._rubberband_rect )
681- self .canvas ._rubberband_rect = None
686+ if self .canvas ._rubberband_rect_white :
687+ self .canvas ._tkcanvas .delete (self .canvas ._rubberband_rect_white )
688+ self .canvas ._rubberband_rect_white = None
689+ if self .canvas ._rubberband_rect_black :
690+ self .canvas ._tkcanvas .delete (self .canvas ._rubberband_rect_black )
691+ self .canvas ._rubberband_rect_black = None
682692
683693 lastrect = _api .deprecated ("3.6" )(
684- property (lambda self : self .canvas ._rubberband_rect ))
694+ property (lambda self : self .canvas ._rubberband_rect_black ))
685695
686696 def _set_image_for_button (self , button ):
687697 """
@@ -907,7 +917,7 @@ def remove_rubberband(self):
907917 self ._make_classic_style_pseudo_toolbar ())
908918
909919 lastrect = _api .deprecated ("3.6" )(
910- property (lambda self : self .figure .canvas ._rubberband_rect ))
920+ property (lambda self : self .figure .canvas ._rubberband_rect_black ))
911921
912922
913923@_api .deprecated ("3.5" , alternative = "ToolSetCursor" )
0 commit comments