o
    ef                     @   sd   d dl Z ddlmZ ddlmZmZ ddlmZ G dd deeZdd	 Z	ej
G d
d deZdS )    N   )FigureCanvasAgg)
_BackendWx_FigureCanvasWxBase)NavigationToolbar2Wxc                   @   s    e Zd ZdddZdddZdS )FigureCanvasWxAggNc                 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)selfr    r   P/var/www/myenv/lib/python3.10/site-packages/matplotlib/backends/backend_wxagg.pyr	   
   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   )__name__
__module____qualname__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
   #   s   r
   c                   @   s   e Zd ZeZdS )_BackendWxAggN)r%   r&   r'   r   FigureCanvasr   r   r   r   r/   )   s    r/   )r   backend_aggr   
backend_wxr   r   r   NavigationToolbar2WxAggr   r
   exportr/   r   r   r   r   <module>   s    