o
    ØtBh¥  ã                
   @   s¶   d dl ZddlmZ zddlmZ W n ey# Z zedƒe‚dZ[ww 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   úz/var/www/html/riverr-enterprise-integrations-main/venv/lib/python3.10/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)Údevice_pixel_ratioÚget_allocationr	   Úrender_backgroundÚget_style_contextÚxÚyÚwidthÚheightr   Ú_to_contextr   Ú._unmultiplied_rgba8888_to_premultiplied_argb32ÚnpÚasarrayÚget_rendererÚbuffer_rgbaÚshaper   ÚImageSurfaceÚcreate_for_dataÚravelÚdataÚFORMAT_ARGB32Úset_device_scaleÚset_source_surfaceÚpaint)
r   ÚwidgetÚctxÚscaleÚ
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   r3   (   s   zFigureCanvasGTK4Agg.drawN)Ú__name__Ú
__module__Ú__qualname__r   r1   r3   r   r   r   r   r      s    r   c                   @   s   e Zd ZdS )ÚFigureManagerGTK4AggN)r4   r5   r6   r   r   r   r   r7   /   s    r7   c                   @   s   e Zd ZeZeZdS )Ú_BackendGTK4AggN)r4   r5   r6   r   ÚFigureCanvasr7   ÚFigureManagerr   r   r   r   r8   3   s    r8   )Únumpyr   Ú r   r   ÚImportErrorÚer   r   r   r	   r
   r   r2   r   ÚFigureManagerGTK4r7   Úexportr8   r   r   r   r   Ú<module>   s"    
€ÿÿ"