o
    ooi                     @   sd   d Z ddlZddlmZ g dZh dZdZedd	eje d
e	ddfddZ
G dd dejZdS )z&Rendering renderer parameter handling.    N   )base)	RENDERERSverify_rendererRenderer>   gdpstkdotfigmappicpovsvgvmlvrmlxdotcairogdiplusF)requiredrendererr   returnc                C   sB   | d u r|r
t dd S |  tvrt d| dtt dd S )Nzmissing rendererzunknown renderer: z (must be None or one of ))
ValueErrorlowerr   sorted)r   r    r   Q/home/ubuntu/.local/lib/python3.10/site-packages/graphviz/parameters/renderers.pyr      s   

r   c                       s   e Zd ZdZdZeeZdddej	e
 ddf fddZ fdd	Zedej	e
 fd
dZejdej	e
 ddfddZ  ZS )r   z*Rendering renderer parameter (no default).N)r   r   r   c                   s   t  jdi | || _d S )Nr   )super__init__r   )selfr   kwargs	__class__r   r   r   -   s   
zRenderer.__init__c                    s,   |  d}|dur||d< t jdi |S )z3Return the kwargs to create a copy of the instance.	_rendererNr   r   )_getattr_from_dictr   _copy_kwargs)r    r!   r   r"   r   r   r&   2   s   
zRenderer._copy_kwargsc                 C   s   | j S )zPThe output renderer used for rendering
            (``'cairo'``, ``'gd'``, ...).)r$   )r    r   r   r   r   9   s   zRenderer.rendererc                 C   s6   |d u r| j dd  d S | }| | || _d S )Nr$   )__dict__popr   _verify_rendererr$   )r    r   r   r   r   r   ?   s
   

)__name__
__module____qualname____doc__r$   staticmethodr   r)   typingOptionalstrr   r&   propertyr   setter__classcell__r   r   r"   r   r   &   s    ""r   )r-   r/    r   __all__r   REQUIREDr0   r1   boolr   ParameterBaser   r   r   r   r   <module>   s    

