OwlCyberSecurity - MANAGER
Edit File: backend_cairo.cpython-38.pyc
U ��]@D � @ sT d Z ddlZddlZzddlZejdk r,e�W n> ek rl zddlZW n ek rf ed��Y nX Y nX ejZ ddl mZ ddlm Z mZmZmZmZ ddlmZ dd lmZ dd lmZ ddlmZ ejdkr�d d� Zndd� Ze�d�G dd� d��Zddd�ZG dd� de�ZG dd� de�Z G dd� de�Z!e j"G dd� de ��Z#dS )z� A Cairo backend for matplotlib ============================== :Author: Steve Chaplin and others This backend depends on cairocffi or pycairo. � N)� � r zDcairo backend requires that pycairo>=1.11.0 or cairocffiis installed� )�cbook)�_Backend�FigureCanvasBase�FigureManagerBase�GraphicsContextBase�RendererBase)�ttfFontProperty)�MathTextParser)�Path)�Affine2D� cairocffic C s8 t | tj�s4tjjtj�dt| �tj �d dd�} | S )Nz cairo_t **r T)Zincref) � isinstance�cairo�ContextZ _from_pointerZffi�cast�id�object� __basicsize__��ctx� r �C/usr/lib/python3/dist-packages/matplotlib/backends/backend_cairo.py�_to_context( s ���r c C s | S �Nr r r r r r 2 s �3.0c @ s e Zd ZdZdd� Zdd� ZdS )�ArrayWrapperz�Thin wrapper around numpy ndarray to expose the interface expected by cairocffi. Basically replicates the array.array interface. c C s* || _ |jj| _t|�� �| _|j| _d S r )Z_ArrayWrapper__arrayZctypes�data�_ArrayWrapper__data�lenZflatten�_ArrayWrapper__size�itemsize)�selfZmyarrayr r r �__init__<