
    G8c.                         d dl Z ddlmZmZ ddlmZmZmZmZ ddl	m
Z
mZmZ  G d dee      Zej                   G d d	e             Zy)
    N   )cairoFigureCanvasCairo)QtCoreQtGui
_BackendQTFigureCanvasQT)QT_API_enum_setDevicePixelRatioc                   $     e Zd Z fdZd Z xZS )FigureCanvasQTCairoc                     t        | j                  j                  d      rJ| j                  j                  | j                  _        | j                  j                  | j                         t        |           y )Nctx)hasattr	_renderergcfiguredpidrawsuper)self	__class__s    E/usr/lib/python3/dist-packages/matplotlib/backends/backend_qtcairo.pyr   zFigureCanvasQTCairo.draw	   sJ    4>>$$e,!%DNNKKT^^,    c                    t        | j                  | j                         z        }t        | j                  | j                         z        }||f| j                  j                         k7  rt        j                  t        j                  ||      }| j                  j                  t        j                  |             | j                  j                  | j                  _        | j                  j                  | j                         | j                  j                  j                  j!                         j#                         }t$        dk(  r!ddlm} t        |j+                  |            }n|}t-        j.                  |||t1        d      j2                        }t$        dv r@t4        j6                  dk  r-dt8        j:                  j=                  t?        |            _         tC        || j                         t-        jD                  |       }	|	jG                  |jI                                |	jK                  dd|       | jM                  |	       |	jO                          y )NPyQt6r   )sipzQtGui.QImage.Format)PySidePySide2)      r   )(intdevice_pixel_ratiowidthheightr   get_canvas_width_heightr   ImageSurfaceFORMAT_ARGB32set_contextContextr   r   r   r   r   
get_targetget_datar
   r   r   voidptrr   QImager   Format_ARGB32_Premultipliedr   __version_info__ctypesc_longfrom_addressidvaluer   QPainter	eraseRectrect	drawImage_draw_rect_callbackend)
r   eventr%   r&   surfacebufr   ptrqimagepainters
             r   
paintEventzFigureCanvasQTCairo.paintEvent   s   D++djjl:;T,,t{{}<=6?dnnDDFF(()<)<eVLGNN&&u}}W'=>!%DNNKKT^^,nn##..099;W!ckk#&'CC'(DDF
 **&&0<=**2c739VT%<%<=..&%**,'!Q'  )r   )__name__
__module____qualname__r   rC   __classcell__)r   s   @r   r   r      s    r   r   c                       e Zd ZeZy)_BackendQTCairoN)rD   rE   rF   r   FigureCanvas r   r   rI   rI   -   s    &Lr   rI   )r2   backend_cairor   r   
backend_qtr   r   r   r	   	qt_compatr
   r   r   r   exportrI   rK   r   r   <module>rP      sH     3 A A : :"+^ "J 'j ' 'r   