o
    li                     @   s   d dl Z ddlmZ ddlmZ ddlmZmZmZ ddlm	Z
 ejdd	d
G dd deZG dd deeZdd ZejG dd deZdS )    N   )_api   )FigureCanvasAgg)
_BackendWx_FigureCanvasWxBaseFigureFrameWx)NavigationToolbar2Wxz3.6z2FigureFrameWx(..., canvas_class=FigureCanvasWxAgg))alternativec                   @   s   e Zd Zdd ZdS )FigureFrameWxAggc                 C   s   t | d|S )N)FigureCanvasWxAgg)selffig r   _/home/ubuntu/SoloSpeech/.venv/lib/python3.10/site-packages/matplotlib/backends/backend_wxagg.py
get_canvas   s   zFigureFrameWxAgg.get_canvasN)__name__
__module____qualname__r   r   r   r   r   r   
   s    r   c                   @   s$   e Zd ZdZdddZdddZdS )r   ad  
    The FigureCanvas contains the figure and does event handling.

    In the wxPython backend, it is derived from wxPanel, and (usually)
    lives inside a frame instantiated by a FigureManagerWx. The parent
    window probably implements a wxSizer to control the displayed
    control size - but we give a hint as to our preferred minimum
    size.
    Nc                 C   s2   t |  t|   | _d| _| j|d dS )z.
        Render the figure using agg.
        T)drawDCN)r   draw_rgba_to_wx_bitmapget_rendererbuffer_rgbabitmap_isDrawngui_repaint)r   r   r   r   r   r      s   
zFigureCanvasWxAgg.drawc              	   C   s   t |   }|d u r|| _n7t|}t| j}t|j}t| j |j	 }|
||t|jt|j||| |tj |tj |   d S N)r   r   r   r   wxMemoryDCintx0	GetHeighty1BlitwidthheightSelectObject
NullBitmapr   )r   bboxr   srcDCdestDCxyr   r   r   blit%   s   

"zFigureCanvasWxAgg.blitr   )r   r   r   __doc__r   r/   r   r   r   r   r      s    

	r   c                 C   s   | j \}}}tj||| S )z&Convert an RGBA buffer to a wx.Bitmap.)shaper   BitmapFromBufferRGBA)rgbahw_r   r   r   r   5   s   r   c                   @   s   e Zd ZeZdS )_BackendWxAggN)r   r   r   r   FigureCanvasr   r   r   r   r8   ;   s    r8   )r    r   backend_aggr   
backend_wxr   r   r   r	   NavigationToolbar2WxAgg
deprecatedr   r   r   exportr8   r   r   r   r   <module>   s    $