a
    ضad                     @   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)selfZfig r   q/Users/vegardjervell/Documents/master/model/venv/lib/python3.9/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bitmapZ_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x0Z	GetHeighty1Blitwidthheight
NullBitmap)r   bboxsrcBmpsrcDCdestDCxyr   r   r   blit#   s    

"zFigureCanvasWxAgg.blit)N)N)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 d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   ZBitmapZFromBufferRGBAr   r   r    Zbuffer_rgbar   r   r   r   r   r!   )Zaggr"   r#   r$   Z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
   ZFigureCanvasr   Z_frame_classr   r   r   r   r*   Y   s   r*   )r   Zbackend_aggr   Z
backend_wxr   r   r   r   ZNavigationToolbar2WxAggr   r
   r   Zexportr*   r   r   r   r   <module>   s   ,