@@ -575,6 +575,20 @@ def __init__(self, name, canvas, renderer):
575575 Event .__init__ (self , name , canvas )
576576 self .renderer = renderer
577577
578+ class ResizeEvent (Event ):
579+ """
580+ An event triggered by a canvas resize
581+
582+ Attributes are
583+ name
584+ canvas
585+ width # width of the canvas in pixels
586+ height # height of the canvas in pixels
587+ """
588+ def __init__ (self , name , canvas ):
589+ Event .__init__ (self , name , canvas )
590+ self .width , self .height = canvas .get_width_height ()
591+
578592class LocationEvent (Event ):
579593 """
580594 A event that has a screen location
@@ -731,6 +745,11 @@ def draw_event(self, renderer):
731745 for func in self .callbacks .get ('draw_event' , {}).values ():
732746 func (event )
733747
748+ def resize_event (self ):
749+ event = ResizeEvent ('resize_event' , self )
750+ for func in self .callbacks .get ('resize_event' , {}).values ():
751+ func (event )
752+
734753 def key_press_event (self , key , guiEvent = None ):
735754 self ._key = key
736755 event = KeyEvent ('key_press_event' , self , key , self ._lastx , self ._lasty , guiEvent = guiEvent )
@@ -833,6 +852,7 @@ def func(event)
833852
834853 where event is a MplEvent. The following events are recognized
835854
855+ 'resize_event'
836856 'draw_event'
837857 'key_press_event'
838858 'key_release_event'
@@ -850,6 +870,7 @@ def func(event)
850870 mpl_disconnect """
851871
852872 assert s in (
873+ 'resize_event' ,
853874 'draw_event' ,
854875 'key_press_event' ,
855876 'key_release_event' ,
0 commit comments