
    BPc                         d dl Z d dlmZmZmZ  G d de          Zedk    r e                                             dS dS )    N)load_svgTemplateExtension	Transformc                   2    e Zd ZdZdZed             Zd ZdS )SeamlessPatternz$Generate a seamless pattern templateTc                     d}t           j                            t           j                            t                              }t          t           j                            ||                    S )Nzseamless_pattern.svg)ospathdirnamerealpath__file__r   join)clskwargsnamer
   s       ;/usr/share/inkscape/extensions/template_seamless_pattern.pyget_templatezSeamlessPattern.get_template   sH    %wrw//99::T400111    c                    | j         j        | j         j        z  }| j                            d          }|                    dt                               |                    dt                               t          dz  dz  f          }|| j                            d          _        || j                            d          _        |dk    rd|fnd|z  df}| j                            d          D ]}t          |          |_        | j                            d	          }|Gd
z  |z  }	d
z  }
|dk    r
|	|z  }	|
|z  }
t          t                    dz  df|	|
f          |_        | j                            d          }|*|dk    rdnd}t          |z  |z  |z  f          |_        fd dfD             }t          |          D ]\  }\  }	}
| j                            d                    |dz                       }| j                            d                    |dz                       }| |t          |	|
f          x|_        |_        fdddz  fD             }t          |          D ]O\  }\  }	}
| j                            d                    |                    }|t          |	|
f          |_        P| j                            d          }|t          dz   f          |_        |                    ddz             |                    ddz             |                    d           |                    d           |                    d           |                    d           |                    d           |                    d           | j        j        }|                    dd           |                    d d!z  dz             |                    d"d#           |                    d$ddz  z             d S )%NclipPathRectwidthheightd   )scale	designTopdesignBottom   textPreviewg      Y@   r   )	translater   	infoGroupi  c                 *    g | ]} d fD ]}||fS )r    ).0yxr   s      r   
<listcomp>z1SeamlessPattern.set_namedview.<locals>.<listcomp>9   s3    RRRA5?QRR!!QRRRRr   ztop{i})iz	bottom{i})r    c                 .    g | ]}d dz  fD ]}||fS )r   r   r#   )r$   r&   r%   r   s      r   r'   z1SeamlessPattern.set_namedview.<locals>.<listcomp>@   sJ     
 
 
AvvPQz;R
 
67QF
 
 
 
r   zclonePreview{i}fullPatternClonezinkscape:tile-cxzinkscape:tile-cyzinkscape:tile-wzinkscape:tile-hzinkscape:tile-x0zinkscape:tile-y0zinkscape:document-unitspxzinkscape:cxg      @zinkscape:cy0zinkscape:zoom)optionsr   r   svggetElementByIdsetstrr   	transformint	enumerateformat	namedview)selfr   r   unitfactor	clip_rectr   childtext_previewr&   r%   
info_groupsidesr(   topbottomclonespreviewpattern_generatorr6   s    ``                 r   set_namedviewzSeamlessPattern.set_namedview   s   "$H++N;;	gs5zz***hF,,,fsl ;<<<9>,,6<A//9%{{FVQX,,[99 	5 	5E'e444EOOx..}==#&AA{{VV%.u::>1-aV& & &L" X,,[99
!!Q;;CCDE#,u}funv&=>$ $ $J  SRRR6'1f!5RRR"5)) 	O 	OIAv1())(//AE/*B*BCCCX,,[-?-?!a%-?-H-HIIF6#53<1v3N3N3NN 3=
 
 
 
uqy1
 
 
 #6** 	@ 	@IAv1h--.?.F.F.F.K.KLLG"$-A$?$?$?! H334FGG(*3uqy6'>R*S*S*S'!!"4eai@@@!!"4fqjAAA!!"3U;;;!!"3V<<<!!"4e<<<!!"4f===!!'5111!!(F333H&	/666meckQ%6777mS)))oqECK'899999r   N)__name__
__module____qualname____doc__	multi_inxclassmethodr   rD   r#   r   r   r   r      sL        ..I2 2 [2
A: A: A: A: A:r   r   __main__)r	   inkexr   r   r   r   rE   runr#   r   r   <module>rN      s    
			 8 8 8 8 8 8 8 8 8 8L: L: L: L: L:' L: L: L:^ zO r   