HEX
Server: Apache
System: Linux opal14.opalstack.com 3.10.0-1160.108.1.el7.x86_64 #1 SMP Thu Jan 25 16:17:31 UTC 2024 x86_64
User: curbgloabal_opal (1234)
PHP: 8.1.29
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //usr/share/inkscape/extensions/interp.pyo
�
��Yc@s2dZddlZddlZddlZddlZddlZddlZddlZddlZd�Z	d�Z
d�Zd�Zd�Z
dd	�Zdd
�Zddd�Zdd
�Zd�Zd�Zd�Zd�Zd�Zdejfd��YZedkr.e�Zej�ndS(s�
Copyright (C) 2005 Aaron Spike, aaron@ekips.org

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
i����NcCs'tg|D]}t|�d^q
�S(Ni(tsumtlen(tcsptp((s(/usr/share/inkscape/extensions/interp.pytnumsegsscCs||||S(N((tv1tv2R((s(/usr/share/inkscape/extensions/interp.pytinterpcoordscCs2t|d|d|�t|d|d|�gS(Nii(R(tp1tp2R((s(/usr/share/inkscape/extensions/interp.pytinterppointsscCs9|\}}|\}}tj||d||d�S(Ni(tmathtsqrt(t.0t.1tx1ty1tx2ty2((s(/usr/share/inkscape/extensions/interp.pyt
pointdistancescCs?t|d|d�t|d|d�t|d|d�S(Niii(R(tsp1tsp2((s(/usr/share/inkscape/extensions/interp.pytbezlenapprxsg�?cCs:|\}}|\}}||||||||gS(N((R
RttRRRR((s(/usr/share/inkscape/extensions/interp.pyttpointsc	Cs�t|d|d|�}t|d|d|�}t|d|d|�}t|||�}t|||�}t|||�}|d|d|g|||g||d|dggS(Niii(R(	RRRtm1tm2tm3tm4tm5tm((s(/usr/share/inkscape/extensions/interp.pytcspbezsplit!sg����MbP?cCsK|d|d|d|df}tj|||�}t|||�S(Niii(tbezmisctbeziertatlengthR(RRtlt	tolerancetbezR((s(/usr/share/inkscape/extensions/interp.pytcspbezsplitatlength)s&cCs6|d|d|d|df}tj||�S(Niii(R tbezierlength(RRR#R$((s(/usr/share/inkscape/extensions/interp.pytcspseglength-s&cCs�d}g}xq|D]i}|jg�xStdt|��D]<}t||d||�}|dj|�||7}q<WqW||fS(Niii����(tappendtxrangeRR'(RttotaltlengthstsptiR"((s(/usr/share/inkscape/extensions/interp.pyt	csplength0s

cCs6t||�}t||�}t||||�S(N(tfloattstr(tpropertytstarttendttimeR,tep((s(/usr/share/inkscape/extensions/interp.pyttweenstylefloat;sc
Csgt||�\}}}t||�\}}}	dt|||�t|||�t|||	�fS(Ns#%s%s%s(t
parsecolorttweenhex(
R1R2R3R4tsrtsgtsbtertegteb((s(/usr/share/inkscape/extensions/interp.pyttweenstylecolor?scCsxtt|d��}tt|d��}tttj||||���d}t|�dkrtd|}n|S(Niiis0%s(R/tintthexRtfloorR(R4tstetretval((s(/usr/share/inkscape/extensions/interp.pyR8Cs+
cCs�d	\}}}|d dkr�t|�dkr]|dd!|dd!|dd!}}}q�t|�dkr�|dd!|dd!|dd!}}}q�n|||fS(
Nt0it#iiiii(RFRFRF(R(tctrtgtb((s(/usr/share/inkscape/extensions/interp.pyR7Js,/tInterpcBs#eZd�Zd�Zd�ZRS(c
Cs4tjj|�|jjddddddddd	d
dd�|jjd
dddddddd	ddd�|jjddddddddd	ddd�|jjddddddddd	tdd�|jjdddddddd	tdd�|jjd dddddd!d	tdd"�dS(#Ns-es
--exponenttactiontstorettypeR/tdesttexponenttdefaultgthelps4values other than zero give non linear interpolations-ss--stepsR@tstepsisnumber of interpolation stepss-ms--methodtmethodismethod of interpolations-ds--duptinkbooltdupsduplicate endpathss--styletstyles*try interpolation of some style propertiess--zsorttzsorts&use z-order instead of selection order(tinkextEffectt__init__tOptionParsert
add_optiontTruetFalse(tself((s(/usr/share/inkscape/extensions/interp.pyR\Ts2cCsc|jd�}|j|j|d��|}|j|j|d��|}t||||�S(Nt1px(tunittouutgetR0(RaR1R2R3R4tscaleR,R5((s(/usr/share/inkscape/extensions/interp.pyttweenstyleunitosc:Cs9
|jj}|dkr%d|}ndd|}d|jjdg}x7t|jjd�D]}|j|d|d�qaWg|D]}||^q�}i}i}|jjr�tj|jj	�|j
j��}n|jj}x�|D]�}|j
|}	|	j
tjdd�kr�tj|	jd��||<tj|	jd��||<|	jd	�}
|
r�tjtj|
�||�q�q�|j|�q�Wx�tdt|��D]y}tj|||d�}tj|||�}tj|||d�}
tj|||�}tj|
�}|jd
�r_|jd
|
|d�|d
<n|jjrVt}t}idd6dd
6dd6dd
6dd6dd6}x<|j�D].}|
j |||�|j |||�q�Wd�}||
d�s/||d�s/|
ddkr8|ddkr8t!}n||
d�sx||d�sx|
ddkr�|ddkr�t!}n|r�|
ddkr�d|
d
<d|
d
<|d|
d<q�|ddkr�d|d
<d|d
<|
d|d<q�n|rV|
ddkr%d|
d<|d|
d<qS|ddkrSd|d<|
d|d<qSqVn|jj"dkrSt#|�\}}t#|�\}}i}d}xM|D]E}x<|D]4}|||7}|j |d�||cd7<q�Wq�Wd}xM|D]E}x<|D]4}|||7}|j |d�||cd7<qWq�Wg|j$�D]\}}|dkrK|^qK}|j%�g|j$�D]\}}|dkr�|^q�} | j%�d}gg}!x5|D]-}|ds�|!j|j&d��n|!dj|dj&d��x�|D]�}|}"|||7}|r�||dkr�x�|r�|d|kr�|d|"||"}#t'|!dd|dd|#�}$|$d |!dd)|$d|dd<|j&d�}"qKWn|!dj|dj&d��qWq�Wd}gg}%x5|D]-}|ds:|%j|j&d��n|%dj|dj&d��x�|D]�}|}"|||7}| r|| dkrx�| r| d|kr| d|"||"}#t'|%dd|dd|#�}$|$d |%dd)|$d|dd<| j&d�}"q�Wn|%dj|dj&d��q_WqW|!}|%}nCt(|�t(|�}&|&dkr�||}}nx�tt)|&��D]�}'d}(d})d}*x�tt|��D]n}+xetdt||+��D]J},t*||+|,d||+|,�}-|-|(kr�|-}(|+})|,}*q�q�Wq�W||)|*d|*d!\}.}/t+|.|/�||)|*d|*d+q�W|&dkr�	||}}ngg}!gg}%xA|r�
|r�
|dr

|dr

|!dj|dj&d��|%dj|dj&d��q�	|drc
|!j|j&d��|%dj|dd�|%j|dj&d�g�q�	|dr�
|%j|j&d��|!dj|dd�|!j|dj&d�g�q�	|!j|j&d��|%j|j&d��q�	W|jj,rdg|dg}ntj-j.|j/tjdd��}0x�|D]�}1g}2x�t0|!|%�D]�\}3}4|3pk|4srPn|2jg�x�t0|3|4�D]~\}}5|p�|5s�Pn|2djg�xNt0||5�D]=\}6}7|p�|5s�Pn|2ddjt1|6|7|1��q�Wq�WqVW|2ds)|2d=n|jjr�t2d|
||1�|d<|r�t2d
|
||1�|d
<|jd
|
||1�|d
<t3d|
||1�|d<n|r�t2d|
||1�|d<t3d|
||1�|d<q�nitj4|�d6tj5|2�d6}8tj-j.|0tjdd�|8�}9q:Wq�WdS(Nig�?ii����tpathtsvgtdRXt	transformsstroke-widths1.0topacitysstroke-opacitysfill-opacitytnonetstroketfillcSs|dkp|d dkS(NRliRG((tx((s(/usr/share/inkscape/extensions/interp.pyt<lambda>�ss0.0iRJ(6toptionsRQRTtrangeR(RYtpathmodifiertzSorttdocumenttgetroottselectedtkeystidsttagRZtaddNStcubicsuperpatht	parsePathRdtsimplestylet
parseStyletsimpletransformtapplyTransformToPathtparseTransformtremoveRtcopytdeepcopythas_keyRfRXR_t
setdefaultR`RUR.t	iteritemstsorttpopR%RtabsRRRWtetreet
SubElementt
current_layertzipR
R6R?tformatStylet
formatPath(:RaRQRTR-tsteptpathststylest
sorted_idstidtnodettransR2R3tssttestt	basestyletdostroketdofillt
styledefaultstkeyt
isnotplaintslengthststotaltelengthstetotalR+RR,R"tktvtsaddteaddRCtpttnttbezesRDt
lengthdiffRotmaxlentsubpathtsegmenttytztlengRRtgroupR4tinterptssptespR5RR	tattribstnew((s(/usr/share/inkscape/extensions/interp.pyteffectusf
'

#	@	@	









1
1
	


$&	


$&
 #&		!
 
 $

-

&(t__name__t
__module__R\RfR�(((s(/usr/share/inkscape/extensions/interp.pyRLSs		t__main__(t__doc__RZR|R~R�RR R�RsRRR
RRRRR%R'R.R6R?R8R7R[RLR�RDtaffect(((s(/usr/share/inkscape/extensions/interp.pyt<module>s&`											�