a
    s=ic	                     @   s   d dl ZddlmZ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d	d
dG dd dejZe	jG dd de	ZdS )    N   )_api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__ t/home/droni/.local/share/virtualenvs/DPS-5Je3_V2c/lib/python3.9/site-packages/matplotlib/backends/backend_gtk3agg.pyr      s    zFigureCanvasGTK3Agg.__init__c                 C   s&  | j }|  }|j| }|j| }t| jsft|  ||j	|j
|j|j tddg||ggg}n| j}|D ]}t|j}	|t|j }
t|jt|j }t|jt|j }tt| |}tj| jtj||}||| |||	| |
|  |  qpt| jr"g | _dS )Nr   F) device_pixel_ratioget_allocationwidthheightlenr   r	   Zrender_backgroundZget_style_contextxyr   ZBboxintx0y1x1y0r   Z._unmultiplied_rgba8888_to_premultiplied_argb32npZasarrayZcopy_from_bboxcairoZImageSurfaceZcreate_for_dataZraveldataZFORMAT_ARGB32Zset_device_scaleZset_source_surfaceZpaint)r   Zwidgetctxscale
allocationwhZ
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   r)   r   r   r   r   r   r   r   r    r   appendZqueue_draw_area)r   r)   r%   r&   r   r   r   r   r   r   r   blit2   s    zFigureCanvasGTK3Agg.blit)N)__name__
__module____qualname__r   r,   r.   __classcell__r   r   r   r   r   
   s   "r   z3.6zbackend_gtk3.FigureManagerGTK3)alternativec                   @   s   e Zd ZdS )FigureManagerGTK3AggN)r/   r0   r1   r   r   r   r   r4   C   s   r4   c                   @   s   e Zd ZeZdS )_BackendGTK3CairoN)r/   r0   r1   r   ZFigureCanvasr   r   r   r   r5   H   s   r5   )numpyr!    r   r   r   r   r   r	   r
   r"   ZFigureCanvasAggZFigureCanvasGTK3r   
deprecatedZFigureManagerGTK3r4   exportr5   r   r   r   r   <module>   s   9