/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends
NameSizeModeActions
Matplotlib.nib/-0755rm
backend_agg.py130370644editdlrm
backend_agg.pyc149550644editdlrm
backend_agg.pyo137440644editdlrm
backend_cairo.py164930644editdlrm
backend_cairo.pyc187640644editdlrm
backend_cairo.pyo187640644editdlrm
backend_cocoaagg.py89880644editdlrm
backend_cocoaagg.pyc123330644editdlrm
backend_cocoaagg.pyo123330644editdlrm
backend_emf.py223360644editdlrm
backend_emf.pyc258570644editdlrm
backend_emf.pyo258570644editdlrm
backend_fltkagg.py208520644editdlrm
backend_fltkagg.pyc274110644editdlrm
backend_fltkagg.pyo274110644editdlrm
backend_gdk.py159680644editdlrm
backend_gdk.pyc176250644editdlrm
backend_gdk.pyo176250644editdlrm
backend_gtk.py407070644editdlrm
backend_gtk.pyc463100644editdlrm
backend_gtk.pyo463100644editdlrm
backend_gtkagg.py41340644editdlrm
backend_gtkagg.pyc52310644editdlrm
backend_gtkagg.pyo52310644editdlrm
backend_gtkcairo.py20790644editdlrm
backend_gtkcairo.pyc38830644editdlrm
backend_gtkcairo.pyo38830644editdlrm
backend_macosx.py146440644editdlrm
backend_macosx.pyc213160644editdlrm
backend_macosx.pyo212190644editdlrm
backend_mixed.py51660644editdlrm
backend_mixed.pyc49220644editdlrm
backend_mixed.pyo48510644editdlrm
backend_pdf.py777160644editdlrm
backend_pdf.pyc681600644editdlrm
backend_pdf.pyo680420644editdlrm
backend_ps.py514440644editdlrm
backend_ps.pyc488740644editdlrm
backend_ps.pyo488740644editdlrm
backend_qt.py168460644editdlrm
backend_qt.pyc217020644editdlrm
backend_qt.pyo217020644editdlrm
backend_qt4.py210060644editdlrm
backend_qt4.pyc254250644editdlrm
backend_qt4.pyo254250644editdlrm
backend_qt4agg.py47990644editdlrm
backend_qt4agg.pyc60520644editdlrm
backend_qt4agg.pyo60520644editdlrm
backend_qtagg.py49720644editdlrm
backend_qtagg.pyc61960644editdlrm
backend_qtagg.pyo61960644editdlrm
backend_svg.py259510644editdlrm
backend_svg.pyc248920644editdlrm
backend_svg.pyo247840644editdlrm
backend_template.py88060644editdlrm
backend_template.pyc96450644editdlrm
backend_template.pyo96450644editdlrm
backend_wx.py789210644editdlrm
backend_wx.pyc811000644editdlrm
backend_wx.pyo810240644editdlrm
backend_wxagg.py90990644editdlrm
backend_wxagg.pyc95970644editdlrm
backend_wxagg.pyo95970644editdlrm
_backend_agg.so4308400755editdlrm
_backend_gdk.so83920755editdlrm
_gtkagg.so1438800755editdlrm
__init__.py22250644editdlrm
__init__.pyc21720644editdlrm
__init__.pyo21720644editdlrm
Edit: /opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_mixed.py (5166B)
from matplotlib._image import frombuffer from matplotlib.backends.backend_agg import RendererAgg from matplotlib.tight_bbox import process_figure_for_rasterizing class MixedModeRenderer(object): """ A helper class to implement a renderer that switches between vector and raster drawing. An example may be a PDF writer, where most things are drawn with PDF vector commands, but some very complex objects, such as quad meshes, are rasterised and then output as images. """ def __init__(self, figure, width, height, dpi, vector_renderer, raster_renderer_class=None, bbox_inches_restore=None): """ figure: The figure instance. width: The width of the canvas in logical units height: The height of the canvas in logical units dpi: The dpi of the canvas vector_renderer: An instance of a subclass of RendererBase that will be used for the vector drawing. raster_renderer_class: The renderer class to use for the raster drawing. If not provided, this will use the Agg backend (which is currently the only viable option anyway.) """ if raster_renderer_class is None: raster_renderer_class = RendererAgg self._raster_renderer_class = raster_renderer_class self._width = width self._height = height self.dpi = dpi assert not vector_renderer.option_image_nocomposite() self._vector_renderer = vector_renderer self._raster_renderer = None self._rasterizing = 0 # A renference to the figure is needed as we need to change # the figure dpi before and after the rasterization. Although # this looks ugly, I couldn't find a better solution. -JJL self.figure=figure self._bbox_inches_restore = bbox_inches_restore self._set_current_renderer(vector_renderer) _methods = """ close_group draw_image draw_markers draw_path draw_path_collection draw_quad_mesh draw_tex draw_text finalize flipy get_canvas_width_height get_image_magnification get_texmanager get_text_width_height_descent new_gc open_group option_image_nocomposite points_to_pixels strip_math """.split() def _set_current_renderer(self, renderer): self._renderer = renderer for method in self._methods: if hasattr(renderer, method): setattr(self, method, getattr(renderer, method)) renderer.start_rasterizing = self.start_rasterizing renderer.stop_rasterizing = self.stop_rasterizing def start_rasterizing(self): """ Enter "raster" mode. All subsequent drawing commands (until stop_rasterizing is called) will be drawn with the raster backend. If start_rasterizing is called multiple times before stop_rasterizing is called, this method has no effect. """ # change the dpi of the figure temporarily. self.figure.set_dpi(self.dpi) if self._bbox_inches_restore: # when tight bbox is used r = process_figure_for_rasterizing(self.figure, self._bbox_inches_restore, mode="png") self._bbox_inches_restore = r if self._rasterizing == 0: self._raster_renderer = self._raster_renderer_class( self._width*self.dpi, self._height*self.dpi, self.dpi) self._set_current_renderer(self._raster_renderer) self._rasterizing += 1 def stop_rasterizing(self): """ Exit "raster" mode. All of the drawing that was done since the last start_rasterizing command will be copied to the vector backend by calling draw_image. If stop_rasterizing is called multiple times before start_rasterizing is called, this method has no effect. """ self._rasterizing -= 1 if self._rasterizing == 0: self._set_current_renderer(self._vector_renderer) width, height = self._width * self.dpi, self._height * self.dpi buffer, bounds = self._raster_renderer.tostring_rgba_minimized() l, b, w, h = bounds if w > 0 and h > 0: image = frombuffer(buffer, w, h, True) image.is_grayscale = False image.flipud_out() self._renderer.draw_image(int(float(l)/self.dpi*72.), int((float(height) - b - h)/self.dpi*72.), image, None) self._raster_renderer = None self._rasterizing = False # restore the figure dpi. self.figure.set_dpi(72) if self._bbox_inches_restore: # when tight bbox is used r = process_figure_for_rasterizing(self.figure, self._bbox_inches_restore, mode="pdf") self._bbox_inches_restore = r