
    BPc|                         d Z ddlZddlmZmZmZmZ ddlmZ  G d dej	                  Z
edk    r e
                                             dS dS )zy
This extension converts a path into a dashed line using 'stroke-dasharray'
It is a modification of the file addnodes.py
    N)bezierCubicSuperPathGroupPathElement)inkex_gettextc                   D     e Zd ZdZ fdZd Zd Zed             Z xZ	S )Dashitz/Extension to convert paths into dash-array linec                 d    t          t          |                                            g | _        d S )N)superr	   __init__not_converted)self	__class__s    0/usr/share/inkscape/extensions/convert2dashes.pyr   zDashit.__init__!   s-    fd$$&&&    c                    | j         j        D ]}|                     |           | j        rat	          j        t          d                              t          | j                                       t	          j	        | j                   d S d S )Nz*Total number of objects not converted: {}
)
svg	selectionconvert2dashr   inkexerrormsg_formatlendebug)r   nodes     r   effectzDashit.effect%   s    H& 	$ 	$Dd#### 	,N?@@GG*++    K*+++++	, 	,r   c                    t          |t                    r|D ]}|                     |           dS t          |t                    r|                     |           dS | j                            |                    d                     dS )z'Convert each selected node's dash arrayidN)
isinstancer   r   r   _convertr   appendget)r   r   childs      r   r   zDashit.convert2dash1   s    dE"" 	6 ) )!!%(((() )k** 	6MM$%%dhhtnn55555r   c                    g }d}|                                  } |d          } |d          }|sd S g }| j                                        D ]}d}|d         }t          |          }||k     r(||z
  }|dz   t	          |          z  }||         }||k     (|                    |d         d d          g           d}	|	t	          |          k     r8||z
  }t          j        |d         d         ||	                   }||k     rt          j        |d         d         ||	         ||z            \  |d         d<   }
||	<   |dz  r|                    |
d d          g           n#|d                             |
d d                     ||z
  }|dz   t	          |          z  }||         }||k     |dz  r|                    ||	         g           n!|d                             ||	                    |	dz  }	|	t	          |          k     8|	                    d           | 	                    d           t          |                              d	          | _        || _        d S )
Nr   zstroke-dasharrayzstroke-dashoffset      zsodipodi:typeg|=)rtol)specified_stylepathto_superpathfloatr   r"   r   cspseglengthcspbezsplitatlengthpopr   to_pathstyle)r   dashesoffsetr2   newsubidashdashlengthinxts              r   r!   zDashit._convert;   s   $$&&)***++ 	F9))++ 	 	CE!9D6]]F--$c&kk1e} -- JJAqqq	{###Ac#hh,,f},SWR[#a&AAVmm/5/IBSVTF]0 0,CGBKc!f qy /

CF8,,,,Bs111v...#d]F"QY#f++5E!%=D Vmm 19 +JJAx((((GNN3q6***Q% c#hh,,& 			$%%%!!!"3''//U/;;	


r   )
__name__
__module____qualname____doc__r   r   r   staticmethodr!   __classcell__)r   s   @r   r	   r	      sw        99         
, 
, 
,6 6 6 ) ) \) ) ) ) )r   r	   __main__)r?   r   r   r   r   r   inkex.localizationr   r   EffectExtensionr	   r<   run r   r   <module>rG      s   *   < < < < < < < < < < < < 1 1 1 1 1 1G G G G GU" G G GT z
FHHLLNNNNN r   