MCPcopy Index your code
hub / github.com/matplotlib/matplotlib / draw

Method draw

lib/matplotlib/image.py:610–638  ·  view source on GitHub ↗
(self, renderer)

Source from the content-addressed store, hash-verified

608
609 @martist.allow_rasterization
610 def draw(self, renderer):
611 # if not visible, declare victory and return
612 if not self.get_visible():
613 self.stale = False
614 return
615 # for empty images, there is nothing to draw!
616 if self.get_array().size == 0:
617 self.stale = False
618 return
619 # actually render the image.
620 gc = renderer.new_gc()
621 self._set_gc_clip(gc)
622 gc.set_alpha(self._get_scalar_alpha())
623 gc.set_url(self.get_url())
624 gc.set_gid(self.get_gid())
625 if (renderer.option_scale_image() # Renderer supports transform kwarg.
626 and self._check_unsampled_image()
627 and self.get_transform().is_affine):
628 im, l, b, trans = self.make_image(renderer, unsampled=True)
629 if im is not None:
630 trans = Affine2D().scale(im.shape[1], im.shape[0]) + trans
631 renderer.draw_image(gc, l, b, im, trans)
632 else:
633 im, l, b, trans = self.make_image(
634 renderer, renderer.get_image_magnification())
635 if im is not None:
636 renderer.draw_image(gc, l, b, im)
637 gc.restore()
638 self.stale = False
639
640 def contains(self, mouseevent):
641 """Test whether the mouse event occurred within the image."""

Callers 2

flush_imagesFunction · 0.45

Calls 15

_get_scalar_alphaMethod · 0.95
make_imageMethod · 0.95
Affine2DClass · 0.90
get_arrayMethod · 0.80
_set_gc_clipMethod · 0.80
get_visibleMethod · 0.45
new_gcMethod · 0.45
set_alphaMethod · 0.45
set_urlMethod · 0.45
get_urlMethod · 0.45
set_gidMethod · 0.45

Tested by

no test coverage detected