§
    BP‚c<
  ã                   ój   — d Z ddlmZ ddlmZmZ ddlmZ  G d„ de¦  «        Z G d„ d	e¦  «        Z	d
S )z+
Interface for the Use and Symbol elements
é   )Ú	Transformé   )ÚGroupÚ	GroupBase)ÚShapeElementc                   ó   — e Zd ZdZdZdS )ÚSymbolzSVG symbol elementÚsymbolN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Útag_name© ó    ú5/usr/share/inkscape/extensions/inkex/elements/_use.pyr	   r	      s   € € € € € ØÐà€H€H€Hr   r	   c                   óP   ‡ — e Zd ZdZdZeˆ fd„¦   «         Zd„ Zd„ Zd„ Z	d	d„Z
ˆ xZS )
ÚUsez5A 'use' element that links to another in the documentÚusec                 óN   •—  t          ¦   «         j        d||dœ|¤Ž}||_        |S )N)ÚxÚyr   )ÚsuperÚnewÚhref)ÚclsÚelemr   r   ÚattrsÚretÚ	__class__s         €r   r   zUse.new)   s1   ø€ àe‰gŒgŒkÐ,˜A Ð,Ð, eÐ,Ð,ˆØˆŒØˆ
r   c                 ó\   — | j         j        }|                     | j         j        ¦  «         |S )z;Returns the path of the cloned href plus any transformation)r   ÚpathÚ	transform)Úselfr"   s     r   Úget_pathzUse.get_path/   s'   € àŒyŒ~ˆØŠt”yÔ*Ñ+Ô+Ð+Øˆr   c                 ól   — | j                              ¦   «         }|                     | j        ¦  «         |S )z*Href's style plus this object's own styles)r   Úeffective_styleÚupdateÚstyle)r$   r)   s     r   r'   zUse.effective_style5   s.   € à”	×)Ò)Ñ+Ô+ˆØŠT”ZÑ Ô Ð Øˆr   c           	      ó&  — | j                              ¦   «         }t          |t          ¦  «        r(t	          di |j        ¤Ž}|                     |¦  «         |}| j        |j        z  |_        |j                             |  	                    |  
                    dd¦  «        ¦  «        |  	                    |  
                    dd¦  «        ¦  «        ¦  «         | j        |j        z   |_        |                      |¦  «         |                     ¦   «          |S )z;Unlink this clone, replacing it with a copy of the originalr   é    r   r   )r   ÚcopyÚ
isinstancer	   r   ÚattribÚextendr#   Úadd_translateÚto_dimensionlessÚgetr)   Úreplace_withÚset_random_ids)r$   r,   Úgroups      r   Úunlinkz
Use.unlink;   sö   € àŒy~Š~ÑÔˆÝdFÑ#Ô#ð 	ÝÐ(Ð(˜DœKÐ(Ð(ˆEØLŠL˜ÑÔÐØˆDØœ¨$¬.Ñ8ˆŒØŒ×$Ò$Ø×!Ò! $§(¢(¨3°Ñ"2Ô"2Ñ3Ô3Ø×!Ò! $§(¢(¨3°Ñ"2Ô"2Ñ3Ô3ñ	
ô 	
ð 	
ð ”Z $¤*Ñ,ˆŒ
Ø×Ò˜$ÑÔÐØ×ÒÑÔÐØˆr   Nc                 ód   — t          |¦  «        | j        z  }| j                             |¦  «        S )zABoundingBox of the unclipped shape

        .. versionadded:: 1.1)r   r#   r   Úbounding_box)r$   r#   Úeffective_transforms      r   Ú	shape_boxzUse.shape_boxL   s0   € õ (¨	Ñ2Ô2°T´^ÑCÐØŒy×%Ò%Ð&9Ñ:Ô:Ð:r   )N)r   r   r   r   r   Úclassmethodr   r%   r'   r6   r:   Ú__classcell__)r    s   @r   r   r   $   sŽ   ø€ € € € € Ø?Ð?à€Hàðð ð ð ñ „[ðð
ð ð ðð ð ðð ð ð";ð ;ð ;ð ;ð ;ð ;ð ;ð ;r   r   N)
r   Ú
transformsr   Ú_groupsr   r   Ú_baser   r	   r   r   r   r   ú<module>r@      s«   ðð(ð ð #Ð "Ð "Ð "Ð "Ð "à %Ð %Ð %Ð %Ð %Ð %Ð %Ð %Ø Ð Ð Ð Ð Ð ðð ð ð ð ˆYñ ô ð ð-;ð -;ð -;ð -;ð -;ˆ,ñ -;ô -;ð -;ð -;ð -;r   