U
    ƒi2e3	  ã                   @  s|   d dl mZ d dlmZmZ d dlmZmZ d dlZ	erhd dl
Z
d dlmZ d dlmZmZmZmZmZ G dd„ deƒZdS )	é    )Úannotations)ÚABCÚabstractmethod)ÚTYPE_CHECKINGÚAnyN)Ú	ArrayLike)ÚCoordinateArrayÚ
FillReturnÚFillTypeÚ
LineReturnÚLineTypec                   @  s  e Zd ZdZddddœdd„Zed8d
ddddddœdd„ƒZed9dddddddddœdd„ƒZed:ddddddddœdd „ƒZed;ddd!dddd"œd#d$„ƒZ	ed<dd&dd'œd(d)„ƒZ
ed*d+œd,d-„ƒZedd+œd.d/„ƒZed=ddddd0œd1d2„ƒZed>ddddddd&dd5œd6d7„ƒZdS )?ÚRendererzSAbstract base class for renderers, defining the interface that they must implement.r   z'tuple[CoordinateArray, CoordinateArray])ÚxÚyÚreturnc                 C  s>   t  |¡}t  |¡}|jdkr.t  ||¡\}}||fS ||fS )Né   )ÚnpZasarrayÚndimZmeshgrid)Úselfr   r   © r   ú;/tmp/pip-unpacked-wheel-_24pu9r8/contourpy/util/renderer.pyÚ_grid_as_2d   s    


    zRenderer._grid_as_2dr   ÚC0çffffffæ?r	   r
   r   ÚstrÚfloatÚNone)ÚfilledÚ	fill_typeÚaxÚcolorÚalphar   c                 C  s   d S ©Nr   )r   r   r   r   r    r!   r   r   r   r       s    	zRenderer.filledÚblackçš™™™™™¹?Nz
str | None)r   r   r   r    r!   Úpoint_colorÚquad_as_tri_alphar   c                 C  s   d S r"   r   )r   r   r   r   r    r!   r%   r&   r   r   r   Úgrid+   s    zRenderer.gridç      ð?r   r   r   )ÚlinesÚ	line_typer   r    r!   Ú	linewidthr   c                 C  s   d S r"   r   )r   r)   r*   r   r    r!   r+   r   r   r   r)   8   s    
zRenderer.linesz'ArrayLike | np.ma.MaskedArray[Any, Any])r   r   Úzr   r    r   c                 C  s   d S r"   r   )r   r   r   r,   r   r    r   r   r   ÚmaskD   s    	zRenderer.maskFÚbool)ÚfilenameÚtransparentr   c                 C  s   d S r"   r   )r   r/   r0   r   r   r   ÚsaveO   s    zRenderer.savez
io.BytesIO)r   c                 C  s   d S r"   r   ©r   r   r   r   Úsave_to_bufferS   s    zRenderer.save_to_bufferc                 C  s   d S r"   r   r2   r   r   r   ÚshowW   s    zRenderer.show)Útitler   r    r   c                 C  s   d S r"   r   )r   r5   r   r    r   r   r   r5   [   s    zRenderer.titleÚgreenú.1f)r   r   r,   r   r    ÚfmtÚquad_as_trir   c                 C  s   d S r"   r   )r   r   r   r,   r   r    r8   r9   r   r   r   Úz_values_   s    zRenderer.z_values)r   r   r   )r   r#   r$   Nr   )r   r   r(   r   )r   r#   )F)r   N)r   r6   r7   F)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r'   r)   r-   r1   r3   r4   r5   r:   r   r   r   r   r      sL      ú
     ø     ù  ú
    ør   )Ú
__future__r   Úabcr   r   Útypingr   r   Znumpyr   ÚioZnumpy.typingr   Zcontourpy._contourpyr   r	   r
   r   r   r   r   r   r   r   Ú<module>   s   