a
    Ø¶îa¥  ã                
   @   sÂ   d dl ZddlmZ zddlmZ W n. eyR Z zedƒe‚W Y dZ[n
dZ[0 0 ddlmZmZ ddlm	Z	 dd	lm
Z
mZ G d
d„ dejejƒZG dd„ dejƒZejG dd„ deƒƒZdS )é    Né   )Úcbooké   )Úbackend_cairozbackend Gtk4Agg requires cairo)Úbackend_aggÚbackend_gtk4)Úcairo)ÚGtkÚ_BackendGTK4c                   @   s$   e Zd Zdd„ Zdd„ Zdd„ ZdS )ÚFigureCanvasGTK4Aggc                 C   s   t j | |¡ d S ©N)r   ÚFigureCanvasGTK4Ú__init__)ÚselfÚfigure© r   ús/Users/vegardjervell/Documents/master/model/venv/lib/python3.9/site-packages/matplotlib/backends/backend_gtk4agg.pyr      s    zFigureCanvasGTK4Agg.__init__c           
      C   sœ   | j }|  ¡ }t |  ¡ ||j|j|j|j¡ t	 
|¡}t t |  ¡  ¡ ¡¡}|j\}}}tj | ¡ jtj||¡}	|	 ||¡ | |	dd¡ | ¡  dS )Nr   F)Zdevice_pixel_ratioZget_allocationr	   Zrender_backgroundZget_style_contextÚxÚyÚwidthÚheightr   Z_to_contextr   Z._unmultiplied_rgba8888_to_premultiplied_argb32ÚnpZasarrayZget_rendererZbuffer_rgbaÚshaper   ZImageSurfaceZcreate_for_dataZravelÚdataZFORMAT_ARGB32Zset_device_scaleZset_source_surfaceZpaint)
r   ZwidgetÚctxZscaleZ
allocationÚbufr   r   Ú_Úimager   r   r   Úon_draw_event   s&    ý
ÿÿz!FigureCanvasGTK4Agg.on_draw_eventc                 C   s   t j | ¡ tj | ¡ d S r   )r   ÚFigureCanvasAggÚdrawr   r   )r   r   r   r   r    (   s    zFigureCanvasGTK4Agg.drawN)Ú__name__Ú
__module__Ú__qualname__r   r   r    r   r   r   r   r      s   r   c                   @   s   e Zd ZdS )ÚFigureManagerGTK4AggN)r!   r"   r#   r   r   r   r   r$   /   s   r$   c                   @   s   e Zd ZeZeZdS )Ú_BackendGTK4AggN)r!   r"   r#   r   ZFigureCanvasr$   ZFigureManagerr   r   r   r   r%   3   s   r%   )Znumpyr   Ú r   r   ÚImportErrorÚer   r   r   r	   r
   r   r   r   ZFigureManagerGTK4r$   Zexportr%   r   r   r   r   Ú<module>   s    ÿ"