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/ink2canvas/svg.pyc
�
��Yc@ssdZddlZddlZddlmZddlmZdd!d��YZdefd��YZd	efd
��YZ	defd��YZ
d
efd��YZdefd��YZdefd��YZ
defd��YZdefd��YZdefd��YZdefd��YZdefd��YZdefd��YZdefd ��YZdS("s�
Copyright (C) 2011 Karlisson Bezerra <contact@hacktoon.com>

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����N(t	parsePath(tparseTransformtElementcBseZdd�ZRS(tcCsW|rtj||�}nyt|jj|��}Wn|jj|�}nX|S(N(tinkextaddNStfloattnodetget(tselftvaltnstattr((s0/usr/share/inkscape/extensions/ink2canvas/svg.pyRs(t__name__t
__module__R(((s0/usr/share/inkscape/extensions/ink2canvas/svg.pyRstGradientDefcBseZd�ZRS(cCs||_||_dS(N(Rtstops(R	RR((s0/usr/share/inkscape/extensions/ink2canvas/svg.pyt__init__$s	(R
RR(((s0/usr/share/inkscape/extensions/ink2canvas/svg.pyR#stLinearGradientDefcBseZd�Zd�ZRS(cCs@|jd�}|jd�}|jd�}|jd�}dS(Ntx1ty1tx2ty2(R(R	RRRR((s0/usr/share/inkscape/extensions/ink2canvas/svg.pytget_data*scCsdS(N((R	((s0/usr/share/inkscape/extensions/ink2canvas/svg.pytdraw1s(R
RRR(((s0/usr/share/inkscape/extensions/ink2canvas/svg.pyR)s	tRadialGradientDefcBseZd�Zd�ZRS(cCs1|jd�}|jd�}|jd�}dS(Ntcxtcytr(R(R	RRR((s0/usr/share/inkscape/extensions/ink2canvas/svg.pyR6scCsdS(N((R	((s0/usr/share/inkscape/extensions/ink2canvas/svg.pyR<s(R
RRR(((s0/usr/share/inkscape/extensions/ink2canvas/svg.pyR5s	t
AbstractShapecBsteZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
RS(cCs||_||_||_dS(N(Rtcommandtctx(R	RRR((s0/usr/share/inkscape/extensions/ink2canvas/svg.pyR@s		cCsdS(N((R	((s0/usr/share/inkscape/extensions/ink2canvas/svg.pyREscCs_tj|jd��}tg|j�D]*\}}tj|�tj|�f^q(�}|S(Ntstyle(tsimplestylet
parseStyleRtdicttitemststrtstrip(R	R tktv((s0/usr/share/inkscape/extensions/ink2canvas/svg.pyt	get_styleHsCcCs�||j_x{|D]s}ttj|jd��}ddj|�}t|j|�r||dkrt|j|�||�qqW||j_	dS(s3Translates style properties names into method callst-tsetRtnoneN(
RR tmapR%t
capitalizetsplittjointhasattrtgetattrtstyle_cache(R	R tkeyttmp_listtmethod((s0/usr/share/inkscape/extensions/ink2canvas/svg.pyt	set_styleNs
"!cCst|jd��S(Nt	transform(tboolR(R	((s0/usr/share/inkscape/extensions/ink2canvas/svg.pyt
has_transformYsc	Csd|jjd�}|sdSt|�}|d\}}}|d\}}}||||||fS(NR8ii(RRR(	R	tdatatmatrixtm11tm21tdxtm12tm22tdy((s0/usr/share/inkscape/extensions/ink2canvas/svg.pyt
get_transform\scCsB|j�}d|kr>|d}|jd�p=|jd�StS(Ntfillsurl(#linearsurl(#radial(R)t
startswithtFalse(R	R RD((s0/usr/share/inkscape/extensions/ink2canvas/svg.pythas_gradientes

cCs+|j�}d|kr'|ddd!SdS(NRDii����(R)(R	R ((s0/usr/share/inkscape/extensions/ink2canvas/svg.pytget_gradient_hrefmscCst|jd��S(Ns	clip-path(R9R(R	((s0/usr/share/inkscape/extensions/ink2canvas/svg.pythas_clipsscCsR||_|jjd|jd��|j�s>|j�rN|jj�ndS(Ns
// #%stid(tgradientRtwriteRR:RItsave(R	RK((s0/usr/share/inkscape/extensions/ink2canvas/svg.pytstartvs	cCs�|j�}|j�}|jj�|j�rP|j�}|jj|�n|j�rl|jj	�n|j
|�t|j|j�|�|jj
�dS(N(RR)Rt	beginPathR:RCR8RGRKRR7R2Rt	closePath(R	R;R ttrans_matrix((s0/usr/share/inkscape/extensions/ink2canvas/svg.pyR|s

cCs,|j�s|j�r(|jj�ndS(N(R:RIRtrestore(R	((s0/usr/share/inkscape/extensions/ink2canvas/svg.pytend�s(R
RRRR)R7R:RCRGRHRIRNRRS(((s0/usr/share/inkscape/extensions/ink2canvas/svg.pyR?s												tGcBseZd�ZRS(cCsG|jdd�pd}|j�rC|j�}|jj|�ndS(Nt	groupmodetinkscapetgroup(RR:RCRR8(R	tgtypeRQ((s0/usr/share/inkscape/extensions/ink2canvas/svg.pyR�s(R
RR(((s0/usr/share/inkscape/extensions/ink2canvas/svg.pyRT�stRectcBseZd�ZRS(cCs||jd�}|jd�}|jd�}|jd�}|jd�pNd}|jd�pcd}||||||fS(Ntxtytwidththeighttrxitry(R(R	RZR[twthR^R_((s0/usr/share/inkscape/extensions/ink2canvas/svg.pyR�s(R
RR(((s0/usr/share/inkscape/extensions/ink2canvas/svg.pyRY�stCirclecBseZd�Zd�ZRS(cCs#tj||||�d|_dS(Ntarc(RRR(R	RRR((s0/usr/share/inkscape/extensions/ink2canvas/svg.pyR�scCsVddl}|jd�}|jd�}|jd�}|||d|jdtfS(Ni����RRRii(tmathRtpitTrue(R	RdRRR((s0/usr/share/inkscape/extensions/ink2canvas/svg.pyR�s
(R
RRR(((s0/usr/share/inkscape/extensions/ink2canvas/svg.pyRb�s	tEllipsecBseZd�Zd�ZRS(cCsL|jd�}|jd�}|jd�}|jd�}||||fS(NRRR^R_(R(R	RRR^R_((s0/usr/share/inkscape/extensions/ink2canvas/svg.pyR�s
c	Cs�ddl}|j�\}}}}|j�}|jj�|j�rh|j�}|jj|�n|j|�d|j	d�dd}|jj
|||�|jj|||||||||||||�|jj|||||||||||||�|jj|||||||||||||�|jj|||||||||||||�|jj�dS(Ni����iiii(
RdRR)RROR:RCR8R7tsqrttmoveTot
bezierCurveToRP(	R	RdRRR^R_R RQtKAPPA((s0/usr/share/inkscape/extensions/ink2canvas/svg.pyR�s

;;;;(R
RRR(((s0/usr/share/inkscape/extensions/ink2canvas/svg.pyRg�s	tPathcBs>eZd�Zd�Zd�Zd�Zd�Zd�ZRS(cCst|jd��S(Ntd(RR(R	((s0/usr/share/inkscape/extensions/ink2canvas/svg.pyR�scCs6|jj|d|d�|d|df|_dS(Nii(RRitcurrentPosition(R	R;((s0/usr/share/inkscape/extensions/ink2canvas/svg.pyt
pathMoveTo�scCs6|jj|d|d�|d|df|_dS(Nii(RtlineToRn(R	R;((s0/usr/share/inkscape/extensions/ink2canvas/svg.pyt
pathLineTo�scCsu|d|d|d|df\}}}}|d|d}}|jj||||||�||f|_dS(Niiiiii(RRjRn(R	R;RRRRRZR[((s0/usr/share/inkscape/extensions/ink2canvas/svg.pytpathCurveTo�s.c
s�ddl�|jd}|jd}|d}|d}|d}|d}|d�jd}|d}	|d	}
�j|�||d
�j|�||d
}�j|�||d
�j|�||d
}|d|d|d|d}
|
dkr7|�j|
�9}|�j|
�9}n|d|d|d|d|d|d}|d|d|d|d}|	|
kr�dnd}|�j||�}�j|�r�d}n||||}||||}||d
�j|�|�j|�|}||d
�j|�|�j|�|}�fd���fd����fd
�}|ddg||||||g�}||||||g}||||||g}|||�}�||�dkr�j}n�||�dkr:d}n|
dkrf|dkrf|d�j}n|
dkr�|dkr�|d�j}n||kr�|n|�||kr�dn||}||kr�||nd}|jj||�|jj	|�|jj
||�|jjdd�|||d|
�|jj
d|d|�|jj	|�|jj||�||f|_dS(Ni����iiiiig�f@iig@cs!�j|dd|dd�S(Niii(Rh(R((Rd(s0/usr/share/inkscape/extensions/ink2canvas/svg.pyt<lambda>scs4|d|d|d|d�|��|�S(Nii((tuR((tm(s0/usr/share/inkscape/extensions/ink2canvas/svg.pyRsscsD|d|d|d|dkr*dnd�j�||��S(Niii����(tacos(RtR((RdR(s0/usr/share/inkscape/extensions/ink2canvas/svg.pyRs	s(RdRnRetcostsinRhtisnanRt	translatetrotatetscaleRc(R	R;RRRRR^R_tangletarcflagt	sweepflagt_x1t_y1tltnumrtdemrtsigt_cxt_cyRRtata1RtR(tadtsxtsy((RuRdRs0/usr/share/inkscape/extensions/ink2canvas/svg.pyt	pathArcTo�sh







45"2"	00+	'cCs�|j�}|j�}|jj�|j�rP|j�}|jj|�n|j|�i|jd6|j	d6|j
d6|jd6}x7|D]/}|\}}||kr�|||�q�q�W|jj�dS(NtMtLtCtA(
RR)RROR:RCR8R7RoRqRrR�RP(R	tpathR RQtpath_commandtpttcommR;((s0/usr/share/inkscape/extensions/ink2canvas/svg.pyR#s 






(R
RRRoRqRrR�R(((s0/usr/share/inkscape/extensions/ink2canvas/svg.pyRl�s					EtLinecBseZd�ZRS(cCs^|jd�}|jd�}|jd�}|jd�}d||ffd||fffS(NRRRRR�R�(R(R	RRRR((s0/usr/share/inkscape/extensions/ink2canvas/svg.pyR;s
(R
RR(((s0/usr/share/inkscape/extensions/ink2canvas/svg.pyR�:stPolygoncBseZd�ZRS(cCs{|jd�j�jd�}td�|�}g}x0|D](}tt|�}|jd|g�q=Wd|dd<|S(Ntpointst cSs
|jd�S(Nt,(R/(RZ((s0/usr/share/inkscape/extensions/ink2canvas/svg.pyRsFsR�R�i(RR&R/R-Rtappend(R	R�R�R�((s0/usr/share/inkscape/extensions/ink2canvas/svg.pyRDs
(R
RR(((s0/usr/share/inkscape/extensions/ink2canvas/svg.pyR�CstPolylinecBseZRS((R
R(((s0/usr/share/inkscape/extensions/ink2canvas/svg.pyR�OstTextcBs,eZd�Zd�Zd�Zd�ZRS(cCsFt|�st|j�Sx&|D]}|j|j|�|jSWdS(N(tlentunicodettextttext_helperttail(R	ttspantts((s0/usr/share/inkscape/extensions/ink2canvas/svg.pyR�Ts

cCsZd}g}x.|D]&}||kr|j||�qqW|jjdj|��dS(Ns
font-stylesfont-weights	font-sizesfont-familyR�(s
font-stylesfont-weights	font-sizesfont-family(R�RtsetFontR0(R	R tkeysR�R4((s0/usr/share/inkscape/extensions/ink2canvas/svg.pytset_text_styleZs
cCs(|jd�}|jd�}||fS(NRZR[(R(R	RZR[((s0/usr/share/inkscape/extensions/ink2canvas/svg.pyRbsc	Cs�|j�\}}|j�}|j�rI|j�}|jj|�n|j|�|j|�x`|jD]U}|j	|�}t
|jd��}t
|jd��}|jj|||�qmWdS(NRZR[(
RR)R:RCRR8R7R�RR�RRtfillText(	R	RZR[R RQR�R�t_xt_y((s0/usr/share/inkscape/extensions/ink2canvas/svg.pyRgs

(R
RR�R�RR(((s0/usr/share/inkscape/extensions/ink2canvas/svg.pyR�Ss			((t__doc__RR!t
simplepathRtsimpletransformRRRRRRRTRYRbRgRlR�R�R�R�(((s0/usr/share/inkscape/extensions/ink2canvas/svg.pyt<module>s$
P	
o