ó
    {ñ:iX  ã                   óD   • S SK rS SKJr  SSKJr  S SKJr   " S S5      rg)é    N)Úcbooké   )ÚRendererAgg)Úprocess_figure_for_rasterizingc                   ó8   • \ rS rSrSr  S	S jrS rS rS rSr	g)
ÚMixedModeRendereré   a  
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.
Nc                 ó¦   • Uc  [         nX`l        X l        X0l        X@l        XPl        SU l        Xl        UR                  U l        Xpl	        XPl
        g)aŽ  
Parameters
----------
figure : `~matplotlib.figure.Figure`
    The figure instance.
width : float
    The width of the canvas in logical units
height : float
    The height of the canvas in logical units
dpi : float
    The dpi of the canvas
vector_renderer : `~matplotlib.backend_bases.RendererBase`
    An instance of a subclass of
    `~matplotlib.backend_bases.RendererBase` that will be used for the
    vector drawing.
raster_renderer_class : `~matplotlib.backend_bases.RendererBase`
    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.)

N)r   Ú_raster_renderer_classÚ_widthÚ_heightÚdpiÚ_vector_rendererÚ_raster_rendererÚfigureÚ_figdpiÚ_bbox_inches_restoreÚ	_renderer)Úselfr   ÚwidthÚheightr   Úvector_rendererÚraster_renderer_classÚbbox_inches_restores           Úd/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/matplotlib/backends/backend_mixed.pyÚ__init__ÚMixedModeRenderer.__init__   sP   € ð0 !Ñ(Ü$/Ð!à&;Ô#ØŒØŒØŒà /Ôà $ˆÔð
 ŒØ—z‘zˆŒà$7Ô!à(�ó    c                 ó.   • [        U R                  U5      $ )N)Úgetattrr   )r   Úattrs     r   Ú__getattr__ÚMixedModeRenderer.__getattr__>   s   € ô �t—~‘~ tÓ,Ð,r   c                 ój  • U R                   U R                  l         U R                  (       a&  [        U R                  U R                  5      nXl        U R	                  U R
                  U R                   -  U R                  U R                   -  U R                   5      U l        U R                  U l        g)zƒ
Enter "raster" mode.  All subsequent drawing commands (until
`stop_rasterizing` is called) will be drawn with the raster backend.
N)	r   r   r   r   r   r   r   r   r   )r   Úrs     r   Ústart_rasterizingÚ#MixedModeRenderer.start_rasterizingG   s‚   € ð Ÿ(™(ˆ�‰ŒØ×$×$Ü.¨t¯{©{Ø/3×/HÑ/HóJˆAà()Ô%à $× ;Ñ ;Ø�K‰K˜Ÿ™Ñ  $§,¡,¨t¯x©xÑ"7¸¿¹ó!CˆÔà×.Ñ.ˆ�r   c           	      óò  • U R                   U l        U R                  U R                  -  n[        R
                  " U R                  R                  5       5      n[        R                  " US   5      u  p4X#U4   nUR                  (       aˆ  U R                  R                  5       nU R                  R                  UUR                  U R                  -  U R                  -  XR                  -
  U R                  -  U R                  -  USSS2   5        SU l        U R                  U R                   l        U R"                  (       a2  [%        U R                   U R"                  U R                  5      nXpl        gg)z›
Exit "raster" mode.  All of the drawing that was done since
the last `start_rasterizing` call will be copied to the
vector backend by calling draw_image.
).é   Néÿÿÿÿ)r   r   r   r   ÚnpÚasarrayr   Úbuffer_rgbar   Ú_get_nonzero_slicesÚsizeÚnew_gcÚ
draw_imageÚstartr   Ústopr   r   r   )r   r   ÚimgÚslice_yÚslice_xÚcropped_imgÚgcr%   s           r   Ústop_rasterizingÚ"MixedModeRenderer.stop_rasterizingW   s(  € ð ×.Ñ.ˆŒà—‘ §¡Ñ(ˆÜ�jŠj˜×.Ñ.×:Ñ:Ó<Ó=ˆÜ ×4Ò4°S¸±[ÓAÑˆØ 7Ð*Ñ+ˆØ××Ø—‘×&Ñ&Ó(ˆBð �N‰N×%Ñ%ØØ—‘ §¡Ñ,¨t¯x©xÑ7ØŸ,™,Ñ&¨$¯,©,Ñ6¸¿¹ÑAØ™D˜b˜DÑ!ô	#ð
 !%ˆÔð Ÿ,™,ˆ�‰Œà×$×$Ü.¨t¯{©{Ø/3×/HÑ/HØ/3¯|©|ó=ˆAð )*Õ%ð	 %r   )
r   r   r   r   r   r   r   r   r   r   )NN)
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r"   r&   r9   Ú__static_attributes__© r   r   r   r      s$   † ñð (,Ø%)ô,)ò\-ò/õ  *r   r   )	Únumpyr+   Ú
matplotlibr   Úbackend_aggr   Úmatplotlib._tight_bboxr   r   rA   r   r   Ú<module>rF      s   ðÛ å Ý $Ý A÷o*ò o*r   