o
    e	                     @   sp   d dl ZddlmZmZ ddlmZmZ ddlmZmZ d dl	Z	G dd dej
ejZejG d	d
 d
eZdS )    N   )cbook
transforms   )backend_aggbackend_gtk3)Gtk_BackendGTK3c                       s.   e Zd Z fddZdd ZdddZ  ZS )	FigureCanvasGTK3Aggc                    s   t  j|d g | _d S )N)figure)super__init___bbox_queue)selfr   	__class__ R/var/www/myenv/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}|D ]O}t|j}	|t|j }
t|jt|j }t|jt|j }tt| |}tj| jtj||}||| |||	| |
|  |  q8t| jrg | _dS )Nr   F) device_pixel_ratioget_allocationwidthheightlenr   r   render_backgroundget_style_contextxyr   Bboxintx0y1x1y0r   ._unmultiplied_rgba8888_to_premultiplied_argb32npasarraycopy_from_bboxcairo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 N)r   r7   r   r   r   r   r   r    r!   r"   r   appendqueue_draw_area)r   r7   r2   r3   r   r   r   r   r   r   r   blit2   s   zFigureCanvasGTK3Agg.blitr;   )__name__
__module____qualname__r   r:   r>   __classcell__r   r   r   r   r
   
   s    "r
   c                   @   s   e Zd ZeZdS )_BackendGTK3CairoN)r?   r@   rA   r
   FigureCanvasr   r   r   r   rC   C   s    rC   )numpyr$    r   r   r   r   r   r	   r'   FigureCanvasAggFigureCanvasGTK3r
   exportrC   r   r   r   r   <module>   s    9