
    (?e	                         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ej
        ej                  Zej         G d	 d
e                      ZdS )    N   )cbook
transforms   )backend_aggbackend_gtk3)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     Clib/python3.11/site-packages/matplotlib/backends/backend_gtk3agg.pyr   zFigureCanvasGTK3Agg.__init__   s,    '''    c                    | 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        t)          j        |                     |                              }t.          j                            |                                j        t.          j        ||          }|                    ||           |                    ||	|z  |
|z             |                                 Et	          | j                  rg | _        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images                  r   on_draw_eventz!FigureCanvasGTK3Agg.on_draw_event   s   '((**
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:   r5   r6   r   r   r   r   s           r   blitzFigureCanvasGTK3Agg.blit2   s     <;#D'((**
%  DGeO 4 44TWDG,6dg,,TW-%7%%%Q5&11111r   r?   )__name__
__module____qualname__r   r=   rB   __classcell__)r   s   @r   r   r   
   s\                 D2 2 2 2 2 2 2 2r   r   c                       e Zd ZeZdS )_BackendGTK3CairoN)rC   rD   rE   r   FigureCanvas r   r   rH   rH   C   s        &LLLr   rH   )numpyr'    r   r   r   r   r	   r
   r*   FigureCanvasAggFigureCanvasGTK3r   exportrH   rJ   r   r   <module>rP      s                        ' ' ' ' ' ' ' ' + + + + + + + + 62 62 62 62 62+5&762 62 62r ' ' ' ' ' ' ' ' ' 'r   