
    ci                         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Z
 G d dej                        Zy)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                    | |rt        d      y | j                         t        vrt        d| dt        t               d      y )Nzmissing rendererzunknown renderer: z (must be None or one of ))
ValueErrorlowerr   sorted)r   r   s     D/tmp/pip-target-z3e9_cxr/lib/python/graphviz/parameters/renderers.pyr   r      s[    /00 			*-h\4VI5F4GqJ K 	K 
+    c                        e Zd ZdZdZ ee      Zdddej                  e
   ddf fdZ fdZedej                  e
   fd       Zej                  dej                  e
   ddfd	       Z xZS )
r   z*Rendering renderer parameter (no default).N)r   r   r   c                2    t        |   di | || _        y )N )super__init__r   )selfr   kwargs	__class__s      r   r$   zRenderer.__init__-   s    "6" r   c                 R    | j                  d      }|||d<   t        |   di |S )z3Return the kwargs to create a copy of the instance.	_rendererr   r"   )_getattr_from_dictr#   _copy_kwargs)r%   r&   r   r'   s      r   r+   zRenderer._copy_kwargs2   s6    **;7!)F:w#-f--r   c                     | j                   S )zPThe output renderer used for rendering
            (``'cairo'``, ``'gd'``, ...).)r)   )r%   s    r   r   zRenderer.renderer9   s     ~~r   c                     || j                   j                  dd        y |j                         }| j                  |       || _        y )Nr)   )__dict__popr   _verify_rendererr)   )r%   r   s     r   r   zRenderer.renderer?   s=    MMk40~~'H!!(+%DNr   )__name__
__module____qualname____doc__r)   staticmethodr   r0   typingOptionalstrr$   r+   propertyr   setter__classcell__)r'   s   @r   r   r   &   s    4I#O4;? !FOOC$8 !d !
. &//#.  
 __&!5 &$ & &r   r   )r4   r6    r   __all__r   REQUIREDr7   r8   boolr   ParameterBaser   r"   r   r   <module>rA      sa    ,  
6	   &.Kfooc2 K"K26K &t!!  &r   