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

Skip to content

Commit aa810b6

Browse files
committed
MNT: don't need try/except anymore
Always propagate stale up (even if immediate parent is stale)
1 parent 770b8d5 commit aa810b6

File tree

1 file changed

+66
-67
lines changed

1 file changed

+66
-67
lines changed

lib/matplotlib/figure.py

Lines changed: 66 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -1058,81 +1058,80 @@ def draw(self, renderer):
10581058
renderer.open_group('figure')
10591059
# prevent triggering call backs during the draw process
10601060
self._stale = True
1061-
try:
1062-
if self.get_tight_layout() and self.axes:
1063-
try:
1064-
self.tight_layout(renderer, **self._tight_parameters)
1065-
except ValueError:
1066-
pass
1067-
# ValueError can occur when resizing a window.
1061+
if self.get_tight_layout() and self.axes:
1062+
try:
1063+
self.tight_layout(renderer, **self._tight_parameters)
1064+
except ValueError:
1065+
pass
1066+
# ValueError can occur when resizing a window.
10681067

1069-
if self.frameon:
1070-
self.patch.draw(renderer)
1068+
if self.frameon:
1069+
self.patch.draw(renderer)
10711070

1072-
# a list of (zorder, func_to_call, list_of_args)
1073-
dsu = []
1071+
# a list of (zorder, func_to_call, list_of_args)
1072+
dsu = []
10741073

1075-
for a in self.patches:
1076-
dsu.append((a.get_zorder(), a, a.draw, [renderer]))
1074+
for a in self.patches:
1075+
dsu.append((a.get_zorder(), a, a.draw, [renderer]))
10771076

1078-
for a in self.lines:
1079-
dsu.append((a.get_zorder(), a, a.draw, [renderer]))
1077+
for a in self.lines:
1078+
dsu.append((a.get_zorder(), a, a.draw, [renderer]))
10801079

1081-
for a in self.artists:
1082-
dsu.append((a.get_zorder(), a, a.draw, [renderer]))
1080+
for a in self.artists:
1081+
dsu.append((a.get_zorder(), a, a.draw, [renderer]))
10831082

1084-
# override the renderer default if self.suppressComposite
1085-
# is not None
1086-
not_composite = renderer.option_image_nocomposite()
1087-
if self.suppressComposite is not None:
1088-
not_composite = self.suppressComposite
1083+
# override the renderer default if self.suppressComposite
1084+
# is not None
1085+
not_composite = renderer.option_image_nocomposite()
1086+
if self.suppressComposite is not None:
1087+
not_composite = self.suppressComposite
10891088

1090-
if (len(self.images) <= 1 or not_composite or
1091-
not cbook.allequal([im.origin for im in self.images])):
1092-
for a in self.images:
1093-
dsu.append((a.get_zorder(), a, a.draw, [renderer]))
1094-
else:
1095-
# make a composite image blending alpha
1096-
# list of (_image.Image, ox, oy)
1097-
mag = renderer.get_image_magnification()
1098-
ims = [(im.make_image(mag), im.ox, im.oy, im.get_alpha())
1099-
for im in self.images]
1100-
1101-
im = _image.from_images(int(self.bbox.height * mag),
1102-
int(self.bbox.width * mag),
1103-
ims)
1104-
1105-
im.is_grayscale = False
1106-
l, b, w, h = self.bbox.bounds
1107-
1108-
def draw_composite():
1109-
gc = renderer.new_gc()
1110-
gc.set_clip_rectangle(self.bbox)
1111-
gc.set_clip_path(self.get_clip_path())
1112-
renderer.draw_image(gc, l, b, im)
1113-
gc.restore()
1114-
1115-
dsu.append((self.images[0].get_zorder(), self.images[0],
1116-
draw_composite, []))
1117-
1118-
# render the axes
1119-
for a in self.axes:
1120-
dsu.append((a.get_zorder(), a, a.draw, [renderer]))
1121-
1122-
# render the figure text
1123-
for a in self.texts:
1089+
if (len(self.images) <= 1 or not_composite or
1090+
not cbook.allequal([im.origin for im in self.images])):
1091+
for a in self.images:
11241092
dsu.append((a.get_zorder(), a, a.draw, [renderer]))
1125-
1126-
for a in self.legends:
1127-
dsu.append((a.get_zorder(), a, a.draw, [renderer]))
1128-
1129-
dsu = [row for row in dsu if not row[1].get_animated()]
1130-
dsu.sort(key=itemgetter(0))
1131-
for zorder, a, func, args in dsu:
1132-
func(*args)
1133-
finally:
1134-
renderer.close_group('figure')
1135-
self.stale = False
1093+
else:
1094+
# make a composite image blending alpha
1095+
# list of (_image.Image, ox, oy)
1096+
mag = renderer.get_image_magnification()
1097+
ims = [(im.make_image(mag), im.ox, im.oy, im.get_alpha())
1098+
for im in self.images]
1099+
1100+
im = _image.from_images(int(self.bbox.height * mag),
1101+
int(self.bbox.width * mag),
1102+
ims)
1103+
1104+
im.is_grayscale = False
1105+
l, b, w, h = self.bbox.bounds
1106+
1107+
def draw_composite():
1108+
gc = renderer.new_gc()
1109+
gc.set_clip_rectangle(self.bbox)
1110+
gc.set_clip_path(self.get_clip_path())
1111+
renderer.draw_image(gc, l, b, im)
1112+
gc.restore()
1113+
1114+
dsu.append((self.images[0].get_zorder(), self.images[0],
1115+
draw_composite, []))
1116+
1117+
# render the axes
1118+
for a in self.axes:
1119+
dsu.append((a.get_zorder(), a, a.draw, [renderer]))
1120+
1121+
# render the figure text
1122+
for a in self.texts:
1123+
dsu.append((a.get_zorder(), a, a.draw, [renderer]))
1124+
1125+
for a in self.legends:
1126+
dsu.append((a.get_zorder(), a, a.draw, [renderer]))
1127+
1128+
dsu = [row for row in dsu if not row[1].get_animated()]
1129+
dsu.sort(key=itemgetter(0))
1130+
for zorder, a, func, args in dsu:
1131+
func(*args)
1132+
1133+
renderer.close_group('figure')
1134+
self.stale = False
11361135

11371136
self._cachedRenderer = renderer
11381137
self.canvas.draw_event(renderer)

0 commit comments

Comments
 (0)