o
    li	                     @   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__ a/home/ubuntu/SoloSpeech/.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}|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   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   blit2   s   zFigureCanvasGTK3Agg.blitr<   )__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@   rA   rB   r   r   r   r   rE   C   s    rE   c                   @   s   e Zd ZeZdS )_BackendGTK3CairoN)r@   rA   rB   r   FigureCanvasr   r   r   r   rF   H   s    rF   )numpyr%    r   r   r   r   r   r	   r
   r(   FigureCanvasAggFigureCanvasGTK3r   
deprecatedFigureManagerGTK3rE   exportrF   r   r   r   r   <module>   s    9