24
24
25
25
26
26
27
- def allow_rasterization (draw ):
27
+ def allow_rasterization (draw ):
28
28
"""
29
29
Decorator for Artist.draw method. Provides routines
30
30
that run before and after the draw call. The before and after functions
31
31
are useful for changing artist-dependant renderer attributes or making
32
32
other setup function calls, such as starting and flushing a mixed-mode
33
- renderer.
33
+ renderer.
34
34
"""
35
35
def before (artist , renderer ):
36
36
if artist .get_rasterized ():
@@ -42,7 +42,7 @@ def after(artist, renderer):
42
42
43
43
# the axes class has a second argument inframe for its draw method.
44
44
def draw_wrapper (artist , renderer , * kl ):
45
- before (artist , renderer )
45
+ before (artist , renderer )
46
46
draw (artist , renderer , * kl )
47
47
after (artist , renderer )
48
48
@@ -52,7 +52,7 @@ def draw_wrapper(artist, renderer, *kl):
52
52
draw_wrapper .__doc__ = draw .__doc__
53
53
draw_wrapper ._supports_rasterization = True
54
54
return draw_wrapper
55
-
55
+
56
56
57
57
class Artist (object ):
58
58
"""
@@ -308,7 +308,10 @@ def pick(self, mouseevent):
308
308
309
309
# Pick children
310
310
for a in self .get_children ():
311
- a .pick (mouseevent )
311
+ # make sure the event happened in the same axes
312
+ ax = getattr (a , 'axes' , None )
313
+ if mouseevent .inaxes == ax :
314
+ a .pick (mouseevent )
312
315
313
316
def set_picker (self , picker ):
314
317
"""
@@ -543,16 +546,16 @@ def _set_gc_clip(self, gc):
543
546
else :
544
547
gc .set_clip_rectangle (None )
545
548
gc .set_clip_path (None )
546
-
549
+
547
550
def get_rasterized (self ):
548
551
return self ._rasterized
549
-
552
+
550
553
def set_rasterized (self , rasterized ):
551
554
"""
552
555
Force rasterized (bitmap) drawing in vector backend output.
553
-
556
+
554
557
Defaults to None, which implies the backend's default behavior
555
-
558
+
556
559
ACCEPTS: [True | False | None]
557
560
"""
558
561
if rasterized and not hasattr (self .draw , "_supports_rasterization" ):
0 commit comments