
    g	                         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y)    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                 4    t         |   |       g | _        y )N)figure)super__init___bbox_queue)selfr   	__class__s     `/var/www/dash_apps/app1/venv/lib/python3.12/site-packages/matplotlib/backends/backend_gtk3agg.pyr   zFigureCanvasGTK3Agg.__init__   s    '    c                    | j                   r6t        j                  | j                          d| _         | j                          | j                  }| j                         }|j                  |z  }|j                  |z  }t        | j                        smt        j                  | j                         ||j                  |j                  |j                  |j                         t        j                   ddg||gg      g}n| j                  }|D ]@  }t#        |j$                        }	|t#        |j&                        z
  }
t#        |j(                        t#        |j$                        z
  }t#        |j&                        t#        |j*                        z
  }t-        j.                  t1        j2                  | j5                  |                  }t6        j8                  j;                  |j=                         j>                  t6        j@                  ||      }|jC                  ||       |jE                  ||	|z  |
|z         |jG                          C t        | j                        rg | _	        y)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12!"DIIK''((*
u$%4##$!!&&(#jll  *"3"35 %//Aq6Aq6*:;<J))J 	DDGGACL AL3tww</E\CL0FFF

4..t457C&&66		  %"5"5ufFE""5%0""5!e)QY?IIK	 t !Dr   c                    || j                   j                  }| j                  }| j                         }t	        |j
                  |z        }|j                  t	        |j                  |z        z
  }t	        |j                        t	        |j
                        z
  |z  }t	        |j                        t	        |j                        z
  |z  }| j                  j                  |       | j                  ||||       y 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''((*
% DGGeO 44TWWDGG,6dgg,TWW-%7%Q5&1r   rC   )__name__
__module____qualname__r   rA   rF   __classcell__)r   s   @r   r   r   
   s    %N2r   r   c                       e Zd ZeZy)_BackendGTK3AggN)rG   rH   rI   r   FigureCanvas r   r   rL   rL   H   s    &Lr   rL   )numpyr+    r   r   r   r   r	   r
   r   r.   FigureCanvasAggFigureCanvasGTK3r   exportrL   rN   r   r   <module>rT      sT       ' 1 1 ;2+55&77;2| 'l ' 'r   