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

Class FigureCanvasAgg

lib/matplotlib/backends/backend_agg.py:418–595  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

416
417
418class FigureCanvasAgg(FigureCanvasBase):
419 # docstring inherited
420
421 _lastKey = None # Overwritten per-instance on the first draw.
422
423 def copy_from_bbox(self, bbox):
424 renderer = self.get_renderer()
425 return renderer.copy_from_bbox(bbox)
426
427 def restore_region(self, region, bbox=None, xy=None):
428 renderer = self.get_renderer()
429 return renderer.restore_region(region, bbox, xy)
430
431 def draw(self):
432 # docstring inherited
433 self.renderer = self.get_renderer()
434 self.renderer.clear()
435 # Acquire a lock on the shared font cache.
436 with (self.toolbar._wait_cursor_for_draw_cm() if self.toolbar
437 else nullcontext()):
438 self.figure.draw(self.renderer)
439 # A GUI class may be need to update a window using this draw, so
440 # don't forget to call the superclass.
441 super().draw()
442
443 def get_renderer(self):
444 w, h = self.figure.bbox.size
445 key = w, h, self.figure.dpi
446 reuse_renderer = (self._lastKey == key)
447 if not reuse_renderer:
448 self.renderer = RendererAgg(w, h, self.figure.dpi)
449 self._lastKey = key
450 return self.renderer
451
452 def tostring_argb(self):
453 """
454 Get the image as ARGB `bytes`.
455
456 `draw` must be called at least once before this function will work and
457 to update the renderer for any subsequent changes to the Figure.
458 """
459 return self.renderer.tostring_argb()
460
461 def buffer_rgba(self):
462 """
463 Get the image as a `memoryview` to the renderer's buffer.
464
465 `draw` must be called at least once before this function will work and
466 to update the renderer for any subsequent changes to the Figure.
467 """
468 return self.renderer.buffer_rgba()
469
470 def print_raw(self, filename_or_obj, *, metadata=None):
471 if metadata is not None:
472 raise ValueError("metadata not supported for raw/rgba")
473 FigureCanvasAgg.draw(self)
474 renderer = self.get_renderer()
475 with cbook.open_file_cm(filename_or_obj, "wb") as fh:

Callers 1

canvasagg.pyFile · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…