Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit b0905ac

Browse files
committed
added a resize_event
svn path=/trunk/matplotlib/; revision=1752
1 parent d08d339 commit b0905ac

5 files changed

Lines changed: 32 additions & 4 deletions

File tree

CHANGELOG

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
New entries should be added at the top
22

3+
2005-09-14 Added a new 'resize_event' which triggers a callback with a
4+
backend_bases.ResizeEvent object - JDH
5+
36
2005-09-14 font_manager.py: removed chkfontpath from x11FontDirectory() - SC
47

58
2005-09-14 Factored out auto date locator/formatter factory code into
6-
matplotlib.date.date_ticker_factory
9+
matplotlib.date.date_ticker_factory; applies John Bryne's
10+
quiver patch.
711

812
2005-09-13 Added Mark's axes positions history patch #1286915
913

lib/matplotlib/axes.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -827,12 +827,12 @@ def quiver(self, U, V, *args, **kwargs ):
827827
# ( U, V )
828828
U = asarray(U)
829829
V = asarray(V)
830-
X,Y = meshgrid( arange(U.shape[0]), arange(U.shape[1]) )
830+
X,Y = meshgrid( arange(U.shape[1]), arange(U.shape[0]) )
831831
elif len(args)==1:
832832
# ( U, V, S )
833833
U = asarray(U)
834834
V = asarray(V)
835-
X,Y = meshgrid( arange(U.shape[0]), arange(U.shape[1]) )
835+
X,Y = meshgrid( arange(U.shape[1]), arange(U.shape[0]) )
836836
S = float(args[0])
837837
do_scale = ( S != 0.0 )
838838
elif len(args)==2:

lib/matplotlib/backend_bases.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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+
578592
class 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',

lib/matplotlib/backends/backend_gtk.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,7 @@ def _get_key(self, event):
215215

216216

217217
def configure_event(self, widget, event):
218+
218219
if _debug: print 'FigureCanvasGTK.%s' % fn_name()
219220
if widget.window == None:
220221
return
@@ -227,6 +228,8 @@ def configure_event(self, widget, event):
227228
self.figure.set_figsize_inches (w/dpi, h/dpi)
228229

229230
self._need_redraw = True
231+
232+
self.resize_event()
230233
return False # finish event propagation?
231234

232235

lib/matplotlib/backends/backend_gtkagg.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ def configure_event(self, widget, event=None):
6262
hinch = h/dpival
6363
self.figure.set_figsize_inches(winch, hinch)
6464
self._need_redraw = True
65-
65+
self.resize_event()
6666
if DEBUG: print 'FigureCanvasGTKAgg.configure_event end'
6767
return True
6868

0 commit comments

Comments
 (0)