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 d d
l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 Gtk3Agg requires cairo)backend_aggbackend_gtk3)cairo)Gtk_BackendGTK3)
transformsc                   @   s.   e Zd Zdd Zdd Zd
ddZdd	 ZdS )FigureCanvasGTK3Aggc                 C   s   t j| | g | _d S N)r   FigureCanvasGTK3__init___bbox_queue)selffigure r   z/var/www/html/riverr-enterprise-integrations-main/venv/lib/python3.10/site-packages/matplotlib/backends/backend_gtk3agg.pyr      s   
zFigureCanvasGTK3Agg.__init__c                 C   s.  | j }|  }|j| }|j| }t| js3t|  ||j	|j
|j|j tddg||ggg}n| j}t|}|D ]O}t|j}	|t|j }
t|jt|j }t|jt|j }tt| |}tj| jtj||}||| | ||	| |
|  |!  q=t| jrg | _dS )Nr   F)"device_pixel_ratioget_allocationwidthheightlenr   r	   render_backgroundget_style_contextxyr   Bboxr   _to_contextintx0y1x1y0r   ._unmultiplied_rgba8888_to_premultiplied_argb32npasarraycopy_from_bboxr   ImageSurfacecreate_for_dataraveldataFORMAT_ARGB32set_device_scaleset_source_surfacepaint)r   widgetctxscale
allocationwh
bbox_queuebboxr   r   r   r   bufimager   r   r   on_draw_event   s<   






z!FigureCanvasGTK3Agg.on_draw_eventNc                 C   s   |d u r| j j}| j}|  }t|j| }|jt|j|  }t|jt|j | }t|jt|j	 | }| j
| | |||| d S r   )r   r8   r   r   r    r!   r   r"   r#   r$   r   appendqueue_draw_area)r   r8   r3   r4   r   r   r   r   r   r   r   blit8   s   zFigureCanvasGTK3Agg.blitc                 C   s   t j|  tj|  d S r   )r   FigureCanvasAggdrawr   r   )r   r   r   r   r@   H   s   zFigureCanvasGTK3Agg.drawr   )__name__
__module____qualname__r   r;   r>   r@   r   r   r   r   r      s
    
$r   c                   @   s   e Zd ZdS )FigureManagerGTK3AggN)rA   rB   rC   r   r   r   r   rD   O   s    rD   c                   @   s   e Zd ZeZeZdS )_BackendGTK3CairoN)rA   rB   rC   r   FigureCanvasrD   FigureManagerr   r   r   r   rE   S   s    rE   )numpyr&    r   r   ImportErrorer   r   r   r	   r
   
matplotlibr   r   r?   r   FigureManagerGTK3rD   exportrE   r   r   r   r   <module>   s$    
A