
    P/Ph	                         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m	Z	 d dl
Z
 G d dej        ej                  Ze	j         G d	 d
e	                      ZdS )    N   )cbook
transforms   )backend_aggbackend_gtk3)GLibGtk_BackendGTK3c                   ,     e Zd Z fdZd ZddZ xZS )FigureCanvasGTK3Aggc                 Z    t                                          |           g | _        d S )N)figure)super__init___bbox_queue)selfr   	__class__s     c/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/matplotlib/backends/backend_gtk3agg.pyr   zFigureCanvasGTK3Agg.__init__   s,    '''    c                    | j         r4t          j        | j                    d| _         |                                  | j        }|                                 }|j        |z  }|j        |z  }t          | j	                  s[t          j        |                                 ||j        |j        |j        |j                   t          j        ddg||gg          g}n| j	        }|D ]C}t#          |j                  }	|t#          |j                  z
  }
t#          |j                  t#          |j                  z
  }t#          |j                  t#          |j                  z
  }t-          j        t1          j        |                     |                              }t6          j                            |                                j        t6          j         ||          }|!                    ||           |"                    ||	|z  |
|z             |#                                 Et          | j	                  rg | _	        dS )Nr   F)$_idle_draw_idr	   source_removedraw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images                  r   on_draw_eventz!FigureCanvasGTK3Agg.on_draw_event   s    	t1222!"DIIKKK'((**
u$%4#$$ 	*!&&((#jl *"35 5 5 %/Aq6Aq6*:;;<JJ)J 	 	DDGACLL ALL3tw<</E\\CLL0FF
4..t44557 7C&66		 %"5ufF FE""5%000""5!e)QY???IIKKKKt   	"!Dur   Nc                    || j         j        }| j        }|                                 }t	          |j        |z            }|j        t	          |j        |z            z
  }t	          |j                  t	          |j                  z
  |z  }t	          |j                  t	          |j	                  z
  |z  }| j
                            |           |                     ||||           d S N)r   r>   r   r   r%   r&   r   r'   r(   r)   r   appendqueue_draw_area)r   r>   r9   r:   r"   r#   r   r   s           r   blitzFigureCanvasGTK3Agg.blit7   s     <;#D'((**
%  DGeO 4 44TWDG,6dg,,TW-%7%%%Q5&11111r   rC   )__name__
__module____qualname__r   rA   rF   __classcell__)r   s   @r   r   r   
   s\            % % %N2 2 2 2 2 2 2 2r   r   c                       e Zd ZeZdS )_BackendGTK3AggN)rG   rH   rI   r   FigureCanvas r   r   rL   rL   H   s        &LLLr   rL   )numpyr+    r   r   r   r   r	   r
   r   r.   FigureCanvasAggFigureCanvasGTK3r   exportrL   rN   r   r   <module>rT      s                        ' ' ' ' ' ' ' ' 1 1 1 1 1 1 1 1 1 1 ;2 ;2 ;2 ;2 ;2+5&7;2 ;2 ;2| ' ' ' ' 'l ' ' ' ' 'r   