o
    tBhd                     @   sp   d dl Z ddlmZ ddlmZmZmZmZ 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   )FigureCanvasAgg)
_BackendWx_FigureCanvasWxBaseFigureFrameWxNavigationToolbar2Wxc                   @   s   e Zd Zdd ZdS )FigureFrameWxAggc                 C   s   t | d|S )N)FigureCanvasWxAgg)selffig r   x/var/www/html/riverr-enterprise-integrations-main/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   s0   t |  t|  d| _d| _| j|d dS )z.
        Render the figure using agg.
        NT)drawDC)r   draw_convert_agg_to_wx_bitmapget_rendererbitmap_isDrawngui_repaint)r   r   r   r   r   r      s   
zFigureCanvasWxAgg.drawc              	   C   s   |d u rt |  d | _|   d S t |  d }t }|| t }|| j t|j}t| j	 |j
 }|||t|jt|j||| |tj |tj |   d S N)r   r   r   r   wxMemoryDCSelectObjectintx0	GetHeighty1Blitwidthheight
NullBitmap)r   bboxsrcBmp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   |du rt jt| jt| j|  S t jt| jt| j|  }t  }|| t t|jt|j}t  }|| t|j	}tt| j|j
 }|ddt|jt|j||| |t j |t j |S )z
    Convert the region of the agg buffer bounded by bbox to a wx.Bitmap.  If
    bbox is None, the entire buffer is converted.
    Note: agg must be a backend_agg.RendererAgg instance.
    Nr   )r   BitmapFromBufferRGBAr   r#   r$   buffer_rgbar   r   r   r!   r"   r%   )aggr&   r'   r(   destBmpr)   r*   r+   r   r   r   r   :   s$   


"r   c                   @   s   e Zd ZeZeZdS )_BackendWxAggN)r   r   r   r
   FigureCanvasr   _frame_classr   r   r   r   r3   Y   s    r3   )r   backend_aggr   
backend_wxr   r   r   r   NavigationToolbar2WxAggr   r
   r   exportr3   r   r   r   r   <module>   s    ,