o
    i	                     @   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/html/eduruby.in/lip-sync/lip-sync-env/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   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.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/   r0   r1   r
   ZFigureCanvasr   r   r   r   r3   C   s    r3   )numpyr     r   r   r   r   r   r	   r!   ZFigureCanvasAggZFigureCanvasGTK3r
   Zexportr3   r   r   r   r   <module>   s    9