
    f                     P    d dl mZ d dlmZ d dlmZ  G d dej                  ZdS )   )	xmlwriter)Shape)get_rgb_colorc                       e Zd ZdZ fdZd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Z	 dKdZd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z d  Z!d! Z"d" Z#d# Z$d$ Z%d% Z&d& Z'd' Z(d( Z)d) Z*d* Z+d+ Z,d, Z-dLd-Z.d. Z/dLd/Z0d0 Z1d1 Z2dLd2Z3dLd3Z4d4 Z5dLd5Z6d6 Z7d7 Z8d8 Z9d9 Z:d: Z;d; Z<d< Z=d= Z>d> Z?d? Z@d@ ZAdA ZBdB ZCdC ZDdD ZEdE ZFdF ZGdG ZHdH ZIdI ZJdJ ZK xZLS )MDrawingz<
    A class for writing the Excel XLSX Drawing file.


    c                     t          t          |                                            g | _        d| _        d| _        dS )z
        Constructor.

            N)superr   __init__drawingsembeddedorientation)self	__class__s    T/var/www/ffwdstore.be/apps/py-env/lib/python3.11/site-packages/xlsxwriter/drawing.pyr   zDrawing.__init__   s=     	gt%%'''    c                 0   |                                   |                                  | j        r(d}| j        D ]}|dz  }|                     ||           n|                     d           |                     d           |                                  d S )Nr	   r   xdr:wsDr)_xml_declaration_write_drawing_workspacer   r   _write_two_cell_anchor_write_absolute_anchor_xml_end_tag
_xml_close)r   indexdrawing_propertiess      r   _assemble_xml_filezDrawing._assemble_xml_file-   s     	 	%%'''= 		+E&*m G G"
++E3EFFFFG ''****%%% 	r   c                 X    d g ddd d ddd d d dd}| j                             |           |S )Nr	   F)anchor_type
dimensionswidthheightshapeanchor	rel_indexurl_rel_indextipnamedescription
decorative)r   append)r   drawing_objects     r   _add_drawing_objectzDrawing._add_drawing_objectF   sR      
 
 	^,,,r   c                 Z    d}|dz   }|dz   }d|fd|fg}|                      d|           d S )Nz,http://schemas.openxmlformats.org/drawingml/z2006/spreadsheetDrawingz	2006/mainz	xmlns:xdrzxmlns:ar   _xml_start_tag)r   schema	xmlns_xdrxmlns_a
attributess        r   r   z Drawing._write_drawing_workspaceb   sS    ?66	;& )$ 


 	J
33333r   c                    |d         }|d         }|d         }|d         }|d         }|d         }|d         }	|d         }
|d	         }|d
         }|d         }|d         }|d         }|d         }|d         }|d         }|d         }|d         }|d         }|d         }|d         }|d         }g }|dk    r|                     d           n|dk    r|                     d           |r#|j        r|                     d|j        f           |                     d|           |                     ||||           |                     |	|
||           |dk    r|                     |||||           nD|dk    r |                     |||||||||||           n|                     ||||||||||
  
         |                                  | 	                    d           d S )Ntyper    r	   r                        	   r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   )editAsoneCell)r?   absoluter?   zxdr:twoCellAnchor)
r+   edit_asr0   _write_from	_write_to_write_graphic_frame
_write_pic	_write_sp_write_client_datar   )r   r   r   r   r    col_fromrow_fromcol_from_offsetrow_from_offsetcol_torow_tocol_to_offsetrow_to_offsetcol_absoluterow_absoluter!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r4   s                             r   r   zDrawing._write_two_cell_anchoro   sm   (0'5
a=a=$Q-$Q-AA"1"1!!}!!}"7+#H-"7+#H-&{3	*?; '!&)(7'5

 Q;;34444q[[4555  	9U] 	9x7888/<<< 	8_oNNN 	vv}mDDD! %%eYk:VVVVAOO    NN   	!!!-.....r   c                 v   |                      d           | j        dk    r-|                     dd           |                     dd           n,|                     dd           |                     dd           |                     ||           |                                  |                     d           d S )Nzxdr:absoluteAnchorr	   i) iu\ iEi^ it] )r0   r   
_write_pos_write_xdr_extrE   rH   r   )r   frame_indexs     r   r   zDrawing._write_absolute_anchor   s    0111 q  OOAq!!! 1111 OOAv&&& 111 	!!+{;;; 	!!!./////r   c                    |                      d           |                     |           |                     |           |                     |           |                     |           |                     d           d S )Nzxdr:fromr0   
_write_col_write_col_off
_write_row_write_row_offr   r   colrow
col_offset
row_offsets        r   rC   zDrawing._write_from   s    J''' 	 	J''' 	 	J'''*%%%%%r   c                    |                      d           |                     |           |                     |           |                     |           |                     |           |                     d           d S )Nzxdr:torX   r]   s        r   rD   zDrawing._write_to   s    H%%% 	 	J''' 	 	J'''(#####r   c                 2    |                      d|           d S )Nzxdr:col_xml_data_elementr   datas     r   rY   zDrawing._write_col      y$/////r   c                 2    |                      d|           d S )Nz
xdr:colOffrd   rf   s     r   rZ   zDrawing._write_col_off      |T22222r   c                 2    |                      d|           d S )Nzxdr:rowrd   rf   s     r   r[   zDrawing._write_row
  rh   r   c                 2    |                      d|           d S )Nz
xdr:rowOffrd   rf   s     r   r\   zDrawing._write_row_off  rj   r   c                 B    d|fd|fg}|                      d|           d S )Nxyzxdr:pos_xml_empty_tagr   rn   ro   r4   s       r   rT   zDrawing._write_pos  s2     Aha)
Iz22222r   c                 B    d|fd|fg}|                      d|           d S )Ncxcyzxdr:extrp   r   rt   ru   r4   s       r   rU   zDrawing._write_xdr_ext  s2     Rj4*-
Iz22222r   Nc                     dg}|                      d|           |                     ||||           |                                  |                     |           |                     d           d S )Nmacro zxdr:graphicFrame)r0   _write_nv_graphic_frame_pr_write_xfrm_write_atag_graphicr   )r   r   r%   r(   r)   r*   r4   s          r   rE   zDrawing._write_graphic_frame   s     $_
.
;;; 	''t[*MMM 	 	  +++,-----r   c                     |sdt          |          z   }|                     d           |                     |dz   ||d d |           |                                  |                     d           d S )NzChart zxdr:nvGraphicFramePrr   )strr0   _write_c_nv_pr_write_c_nv_graphic_frame_prr   )r   r   r(   r)   r*   s        r   r{   z"Drawing._write_nv_graphic_frame_pr3  s      	)c%jj(D2333 	EAIt[$jQQQ 	))+++011111r   c                 6   d|fd|fg}|r|s|                     d|f           |s|r[|                     d|           |r|                     ||           |r|                                  |                     d           d S |                     d|           d S )Nidr(   descrz	xdr:cNvPr)r+   r0   _write_a_hlink_click_write_decorativer   rq   )r   r   r(   r)   r&   r'   r*   r4   s           r   r   zDrawing._write_c_nv_prC  s    Umfd^4
  	6z 	6w4555 	9J 	9Z888 >))-=== )&&(((k*****Z88888r   c                 R   |                      d           |                     d           |                                  |                     d           |                     d           |                                  |                     d           |                     d           d S )Nza:extLstz&{FF2B5EF4-FFF2-40B4-BE49-F238E27FC236}a:extz&{C183D7F6-B498-43B3-948B-1728B52AA6E4})r0   _write_uri_ext_write_a16_creation_idr   _write_adec_decorativer   s    r   r   zDrawing._write_decorativeX  s    J'''DEEE##%%%'"""DEEE##%%%'"""*%%%%%r   c                 <    d|fg}|                      d|           d S )Nurir   r/   )r   r   r4   s      r   r   zDrawing._write_uri_exte  s)    cl^
GZ00000r   c                 J    d}d}d|fd|fg}|                      d|           d S )Nz;http://schemas.microsoft.com/office/drawing/2017/decorative1z
xmlns:adecvalzadec:decorativerp   )r   xmlnsr   r4   s       r   r   zDrawing._write_adec_decorativek  sC    M 5!CL


 	-z:::::r   c                 J    d}d}d|fd|fg}|                      d|           d S )Nz5http://schemas.microsoft.com/office/drawing/2014/mainz&{00000000-0008-0000-0000-000002000000}z	xmlns:a16r   za16:creationIdrp   )r   
xmlns_a_16creation_idr4   s       r   r   zDrawing._write_a16_creation_idw  sG     M
> *%;


 	,j99999r   c                     d}|dz   }d|fddt          |          z   fg}|r|                    d|f           |                     d|           d S )N1http://schemas.openxmlformats.org/officeDocument/2006/relationshipsxmlns:rr:idrIdtooltipza:hlinkClick)r   r+   rq   )r   r%   r'   r1   xmlns_rr4   s         r   r   zDrawing._write_a_hlink_click  su    D//  US^^+,


  	0y#.///NJ77777r   c                     | j         r|                     d           d S |                     d           |                                  |                     d           d S )Nzxdr:cNvGraphicFramePr)r   rq   r0   _write_a_graphic_frame_locksr   r   s    r   r   z$Drawing._write_c_nv_graphic_frame_pr  sk    = 	7 788888 7888 --///566666r   c                 8    dg}|                      d|           d S )N)noGrpr   za:graphicFrameLocksrp   r   r4   s     r   r   z$Drawing._write_a_graphic_frame_locks  s&    "^
1:>>>>>r   c                     |                      d           |                                  |                                  |                     d           d S )Nzxdr:xfrm)r0   _write_xfrm_offset_write_xfrm_extensionr   r   s    r   r|   zDrawing._write_xfrm  sX    J''' 	!!! 	""$$$*%%%%%r   c                 :    ddg}|                      d|           d S )N)rn   r	   )ro   r	   a:offrp   r   s     r   r   zDrawing._write_xfrm_offset  s/     


 	GZ00000r   c                 :    ddg}|                      d|           d S )N)rt   r	   )ru   r	   r   rp   r   s     r   r   zDrawing._write_xfrm_extension  s/     


 	GZ00000r   c                     |                      d           |                     |           |                     d           d S )Nz	a:graphic)r0   _write_atag_graphic_datar   r   r   s     r   r}   zDrawing._write_atag_graphic  sF    K((( 	%%e,,,+&&&&&r   c                     d}d|fg}|                      d|           |                     dt          |          z              |                     d           d S )Nz6http://schemas.openxmlformats.org/drawingml/2006/chartr   za:graphicDatar   )r0   _write_c_chartr   r   )r   r   r   r4   s       r   r   z Drawing._write_atag_graphic_data  sn    F 

 	OZ888 	ECJJ.////*****r   c                 `    d}|dz   }|dz   }d|fd|fd|fg}|                      d|           d S )Nz"http://schemas.openxmlformats.org/zdrawingml/2006/chartz!officeDocument/2006/relationshipszxmlns:cr   r   zc:chartrp   )r   r_idr1   xmlns_cr   r4   s         r   r   zDrawing._write_c_chart  s]     611>>   TN

 	Iz22222r   c                 0    |                      d           d S )Nzxdr:clientDatarp   r   s    r   rH   zDrawing._write_client_data  s    ,-----r   c                    |rg|j         r`dg}|                     d|           |                     ||           |                     ||||||           |                     d           d S dd|j        fg}|                     d|           |                     ||||	||
           |                     ||||||           |                                  |j        | 	                    |||||           |                     d           d S )Nrx   z	xdr:cxnSptextlinkzxdr:sp)
connectr0   _write_nv_cxn_sp_pr_write_xdr_sp_prr   r   _write_nv_sp_pr_write_styletext_write_tx_body)r   r   rQ   rR   r!   r"   r#   r)   r&   r'   r*   r4   s               r   rG   zDrawing._write_sp  sX     $	(U] $	('JZ888 $$UE222 !!|\5&%   k***** (*en)EFJ*555   umS+z  
 !!|\5&%  
  z%##L,vuUUUh'''''r   c                    |                      d           |j        dz   t          |          z   }||                     ||d d d d            |                      d           dg}|                     d|           |j        r(d|j        fd|j        fg}|                     d|           |j        r(d|j        fd|j        fg}|                     d	|           | 	                    d           | 	                    d           d S )
Nzxdr:nvCxnSpPr zxdr:cNvCxnSpPr)noChangeShapeTyper   za:cxnSpLocksr   idxza:stCxnza:endCxn)
r0   r(   r   r   rq   startstart_indexend	end_indexr   )r   r   r#   r(   r4   s        r   r   zDrawing._write_nv_cxn_sp_pr(  s$   O,,,zC#e**,tT4tDDD,---01
NJ777; 	7-u7H/IJJ	:6669 	8+eU_-EFJ
J777*+++/*****r   c                    g }|                      d           |j        dz   t          |          z   }|                     |dz   |||||           |j        dk    rdg}|                     d|           |                     d           d S )Nz
xdr:nvSpPrr   r   TextBox)txBoxr   zxdr:cNvSpPr)r0   r(   r   r   rq   r   )	r   r   r#   r&   r'   r)   r*   r4   r(   s	            r   r   zDrawing._write_nv_sp_pr@  s     
L)))zC#e**,AIt[-j	
 	
 	
 :""&JM:666,'''''r   c                     |                      d           |                     ||||	|
|           |                     |           |                     |||||           |                     d           d S )Nzxdr:pic)r0   _write_nv_pic_pr_write_blip_fill_write_sp_prr   )r   r   r%   rQ   rR   r!   r"   r#   r)   r&   r'   r*   s               r   rF   zDrawing._write_picU  s     	I&&& 	9k=#z	
 	
 	
 	i((( 	,eVUKKK)$$$$$r   c                     |                      d           |                     |dz   dt          |          z   ||||           |                                  |                     d           d S )Nzxdr:nvPicPrr   zPicture )r0   r   r   _write_c_nv_pic_prr   )r   r   r%   r)   r&   r'   r*   s          r   r   zDrawing._write_nv_pic_prr  s     	M*** 	AIU#	
 	
 	
 	!!!-(((((r   c                     |                      d           |                                  |                     d           d S )Nzxdr:cNvPicPr)r0   _write_a_pic_locksr   r   s    r   r   zDrawing._write_c_nv_pic_pr  sD    N+++ 	!!!.)))))r   c                 8    dg}|                      d|           d S )N)noChangeAspectr   z
a:picLocksrp   r   s     r   r   zDrawing._write_a_pic_locks  s&    +,
L*55555r   c                     |                      d           |                     |           |                                  |                     d           d S )Nzxdr:blipFill)r0   _write_a_blip_write_a_stretchr   r   s     r   r   zDrawing._write_blip_fill  sZ    N+++ 	5!!! 	.)))))r   c                 t    d}|dz   }dt          |          z   }d|fd|fg}|                     d|           d S )Nr   r   r   r   zr:embedza:blip)r   rq   )r   r   r1   r   r_embedr4   s         r   r   zDrawing._write_a_blip  sR    D//#e**$ '*Y,@A
Hj11111r   c                     |                      d           |                                  |                     d           d S )Nz	a:stretch)r0   _write_a_fill_rectr   r   s    r   r   zDrawing._write_a_stretch  sD    K((( 	!!!+&&&&&r   c                 0    |                      d           d S )Nz
a:fillRectrp   r   s    r   r   zDrawing._write_a_fill_rect  s    L)))))r   c                     |                      d           |                     ||||           |                     |           |                     d           d S )Nxdr:spPr)r0   _write_a_xfrm_write_a_prst_geomr   )r   rQ   rR   r!   r"   r#   s         r   r   zDrawing._write_sp_pr  sd     	J''' 	<ufEEE 	&&&*%%%%%r   c                 *   |                      d           |                     |||||           |                     |           |j        rx|j        d         s|                     d           nUd|j        v r|                     d           n6d|j        v r-|                     t          |j        d                              |j        r| 	                    |j                   | 
                    |j                   |                     d           d S )Nr   definedlt1nonea:noFillcolor)r0   r   r   fill_write_a_solid_fill_schemerq   _write_a_solid_fillr   gradient_write_a_grad_fill_write_a_lnliner   )r   r   rQ   rR   r!   r"   r#   s          r   r   zDrawing._write_xdr_sp_pr  s"   J''' 	<ufeLLL 	&&&: 		M:i( M//66665:%%##J////EJ&&((uz'7J)K)KLLL> 	4##EN333 	$$$*%%%%%r   c                    g }|rb|j         r#|j         }|dz  }|                    d|f           |j        r|                    d           |j        r|                    d           |                     d|           |                     ||           |                     ||           |                     d           d S )N`  rot)flipHr   )flipVr   za:xfrm)rotationr+   flip_hflip_vr0   _write_a_off_write_a_extr   )r   rQ   rR   r!   r"   r#   r4   r   s           r   r   zDrawing._write_a_xfrm  s    
 		0~ 5 >E!!!5("3444| 0!!,///| 0!!,///Hj111 	,555 	%((((#####r   c                 B    d|fd|fg}|                      d|           d S )Nrn   ro   r   rp   rr   s       r   r   zDrawing._write_a_off  s7     !H!H


 	GZ00000r   c                 B    d|fd|fg}|                      d|           d S )Nrt   ru   r   rp   rv   s       r   r   zDrawing._write_a_ext  s7     2J2J


 	GZ00000r   c                     dg}|                      d|           |                     |           |                     d           d S )N)prstrectz
a:prstGeom)r0   _write_a_av_lstr   )r   r#   r4   s      r   r   zDrawing._write_a_prst_geom  sP    &'
L*555 	U###,'''''r   c                 f   g }|r|j         r|j         }|r|                     d           d}|D ]V}|dz  }|j        r|}nd}t          t	          |dz                      }dd|z   fdd	|z   fg}|                     d
|           W|                     d           d S |                     d           d S )Nza:avLstr	   r   rz     r(   adjfmlar   za:gd)adjustmentsr0   r   r   intrq   r   )r   r#   r   ir   suffixadj_intr4   s           r   r   zDrawing._write_a_av_lst  s     	,U& 	,+K 	+	***A" 8 8Q=  FFF c#*oo..%uv~68QR
##FJ7777i(((((	*****r   c                     |d}|                      d           |                     |           |                     d           d S )NFFFFFFa:solidFill)r0   _write_a_srgb_clrr   )r   rgbs     r   r   zDrawing._write_a_solid_fill8  sP    ;CM*** 	s###-(((((r   c                    d|fg}|                      d           |rA|                      d|           |                     |           |                     d           n|                     d|           |                     d           d S )Nr   r  a:schemeClr)r0   _write_a_shader   rq   )r   r   shader4   s       r   r   z"Drawing._write_a_solid_fill_schemeD  s    en%
M*** 	;z:::&&&m,,,,z:::-(((((r   c                     |                     dd          }t          |dz   dz            dz  }t          dd|z  z             }d|fd	g}|                     d
|           d|v r|                     d           nCd|v r)|                     t          |d                              n|                     dd           |                     d          }|r|                     |           |                     d
           d S )Nr!   g      ?g      ?r9   g      @g      ?i1  w)cmpdsngza:lnr   r   r   r   50000	dash_type)	getr   r0   rq   r   r   r   _write_a_prst_dashr   )r   r   r!   r4   	line_types        r   r   zDrawing._write_a_lnR  s   $'' UU]a'((3. C55=)**ElO4
FJ///T>>
++++__$$]4=%A%ABBBB ++E7;;; HH[))	 	/##I...&!!!!!r   c                    g }|j         dk    r|j         dk    r|                    d           |j         dk    r|                    d           |j         dk    r|                    d           |j         dk    r|                    d	           |                    d
           |                    d           |j        d         s|                    d           nd|j        v ra|j        d         }|dk    r|                    d           nM|dk    r|                    d           n1|dk    r|                    d           n|                    d           d|j        v r)|j        d         }|dk    r|                    d           n|                    d           |                     d           |                     d|           |                     d           |j                            d          }|j        }	t          j	        |	          }
t          j
        |	          }|
                    dd|	d         f           |j        dk    rddg}|                     d            |                     d!|           |                     |	|
|d"           |                     d#|j                   |                     d!           |                     |	|
|d$           |                     d            n>|D ]:}|                     d            |dk    r.|                     |	|
|d$           |                     d            Ld%|j        v rx|j        d%         d&k    r|                     d'd(g           |j        d%         dk    r|                     d'd)g           |j        d%         d*k    r|                     d'd+g           |                     d,           |                     |	|
|d"           |                     d#|           |                     d,           |                     d            <|                     d           d S )-Nr	   Z   )vertvert270i)r  r  i  )r  wordArtVerti  )r  eaVert)wrapsquare)rtlCol0r   )r$   tverticaltopmiddle)r$   ctrbottom)r$   b
horizontalcenter)	anchorCtrr   )r'  r  z
xdr:txBodyza:bodyPrz
a:lstStyle
langrz   )r   z&{B8ADDEFE-BF52-4FD4-8C5D-6B85EF6FF707})r6   TxLinkza:pza:fldza:rPrza:tza:endParaRPrr   leftza:pPr)algnl)r,  r"  right)r,  rza:r)text_rotationr+   alignr0   rq   r   splitfontr   _get_font_style_attributes_get_font_latin_attributesinsertr   _write_font_runre   r   )r   rQ   rR   r!   r"   r#   r4   r1  linesr3  style_attrslatin_attrsr   s                r   r   zDrawing._write_tx_bodyt  s   
!##"b((!!"5666"c))!!"2333"c))!!"9:::"c))!!"4555,---/***{9% 	6o....U[((J/E>>%%o6666h&&%%&78888h&&%%o666!!/222u{**L1H$$%%&8999!!"4555L)))J
333L)))
  && z6t<<6t<<1vtF|4555>R@"J
 &&&444  {KIII""5%*555g&&&  {KPPPe$$$$ ) )##E***2::(({KXXX%%e,,,u{**{6*f44++Gm_EEE{6*h66++Go5FGGG{6*g55++Gm_EEE##E***$$T;WMMM&&ud333!!%(((!!%((((,'''''r   c                 t   |                     d          d}nd}|s|r|                     ||           |r(|                     t          |d                              |r*|                     |           |                     |           |                     |           d S |                     ||           d S )Nr   TF)r  r0   r   r   _write_a_latin_write_a_csr   rq   )r   r3  r9  r:  run_type	has_colors         r   r7  zDrawing._write_font_run  s    88G(III 	7) 	7+666 G((tG})E)EFFF .##K000  ---h'''''+66666r   c                     |                      d           |                                  |                                  |                                  |                                  |                     d           d S )Nz	xdr:style)r0   _write_a_ln_ref_write_a_fill_ref_write_a_effect_ref_write_a_font_refr   r   s    r   r   zDrawing._write_style  s    K((( 	 	    	  """ 	   +&&&&&r   c                     dg}|                      d|           |                                  |                     d           d S )Nr   r  za:lnRefr0   _write_a_scrgb_clrr   r   s     r   rA  zDrawing._write_a_ln_ref  sM    "^
Iz222 	!!!)$$$$$r   c                     dg}|                      d|           |                                  |                     d           d S )NrF  z	a:fillRefrG  r   s     r   rB  zDrawing._write_a_fill_ref  sM    "^
K444 	!!!+&&&&&r   c                     dg}|                      d|           |                                  |                     d           d S )NrF  za:effectRefrG  r   s     r   rC  zDrawing._write_a_effect_ref  sM    "^
M:666 	!!!-(((((r   c                 :    g d}|                      d|           d S )N))r/  r  )gr  )r$  r  z
a:scrgbClrrp   r   s     r   rH  zDrawing._write_a_scrgb_clr  s1    
 
 

 	L*55555r   c                     dg}|                      d|           |                     d           |                     d           d S )N)r   minorz	a:fontRefdk1)r0   _write_a_scheme_clrr   r   s     r   rD  zDrawing._write_a_font_ref%  sP    &'
K444 	  '''+&&&&&r   c                 <    d|fg}|                      d|           d S )Nr   r  rp   r   r   r4   s      r   rP  zDrawing._write_a_scheme_clr0  s)    cl^
M:66666r   c                 <    d|fg}|                      d|           d S )Nr   za:shaderp   )r   r
  r4   s      r   r	  zDrawing._write_a_shade6  s*    en%
Iz22222r   c                 <    d|fg}|                      d|           d S )Nr   z
a:prstDashrp   rR  s      r   r  zDrawing._write_a_prst_dash<  s+     cl^
L*55555r   c                 f   ddg}|d         dk    rg }|                      d|           |                     |           |d         dk    r|                     |d                    n6|                     |d                    |                     |d                    |                     d           d S )N)flipr   )rotWithShaper   r6   linearz
a:gradFillangle)r0   _write_a_gs_lst_write_a_lin_write_a_path_write_a_tile_rectr   )r   r   r4   s      r   r   zDrawing._write_a_grad_fillC  s     '(=>
Fx''JL*555 	X&&&Fx''hw/0000 x/000 ##HV$4555,'''''r   c                    |d         }|d         }|                      d           t          t          |                    D ]t}t          ||         dz            }d|fg}|                      d|           t	          ||                   }|                     |           |                     d           u|                     d           d S )N	positionscolorsza:gsLstr   posza:gs)r0   rangelenr   r   r  r   )r   r   r_  r`  r   ra  r4   r   s           r   rZ  zDrawing._write_a_gs_lst\  s    [)	(#I&&&s6{{## 		& 		&AilT)**C #,J
333 "&),,E""5)))f%%%%)$$$$$r   c                 b    t          d|z            }d|fdg}|                     d|           d S )Nr   ang)scaledr  za:lin)r   rq   )r   rY  r4   s      r   r[  zDrawing._write_a_linp  sF     EEM"" EN


 	GZ00000r   c                     d|fg}|                      d|           |                     |           |                     d           d S )Npathza:path)r0   _write_a_fill_to_rectr   r   gradient_typer4   s      r   r\  zDrawing._write_a_path|  sW     }-.
Hj111 	""=111(#####r   c                 P    |dk    rg d}nddg}|                      d|           d S )Nr#   ))r-  r  )r  r  )r/  r  )r$  r  )r-  100000)r  rm  za:fillToRectrp   rj  s      r   ri  zDrawing._write_a_fill_to_rect  sO     G##  JJ  J
 	NJ77777r   c                 L    |dk    rg }nddg}|                      d|           d S )Nr#   )r/  -100000)r$  ro  z
a:tileRectrp   rj  s      r   r]  zDrawing._write_a_tile_rect  sC     G##JJ ! J
 	L*55555r   c                 <    d|fg}|                      d|           d S )Nr   z	a:srgbClrrp   rR  s      r   r  zDrawing._write_a_srgb_clr  s+     cl^
K44444r   c                 2    |                      d|           d S )Nza:latinrp   r   s     r   r<  zDrawing._write_a_latin  s    Iz22222r   c                 2    |                      d|           d S )Nza:csrp   r   s     r   r=  zDrawing._write_a_cs  s    FJ/////r   )NNN)N)M__name__
__module____qualname____doc__r   r   r-   r   r   r   rC   rD   rY   rZ   r[   r\   rT   rU   rE   r{   r   r   r   r   r   r   r   r   r|   r   r   r}   r   r   rH   rG   r   r   rF   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r7  r   rA  rB  rC  rH  rD  rP  r	  r  r   rZ  r[  r\  ri  r]  r  r<  r=  __classcell__)r   s   @r   r   r      s        
 
 
 
 
$  2  84 4 4R/ R/ R/h0 0 06& & &$$ $ $$0 0 03 3 30 0 03 3 33 3 33 3 3 IM. . . .&2 2 2 9 9 9*& & &1 1 1
; 
; 
;: : :8 8 8
7 
7 
7? ? ?
& 
& 
&1 1 11 1 1' ' '+ + +$3 3 3. . .3( 3( 3(j+ + +0( ( (*% % %:) ) )** * *6 6 6
* 
* 
*2 2 2' ' '* * *& & & && & &<$ $ $ $21 1 11 1 1	( 	( 	( 	(+ + + +<
) 
) 
)) ) ) ) "  "  "D\( \( \(|7 7 7*' ' '$	% 	% 	%	' 	' 	'	) 	) 	)	6 	6 	6	' 	' 	'7 7 73 3 36 6 6( ( (2% % %(
1 
1 
1
$ 
$ 
$8 8 8$6 6 65 5 53 3 30 0 0 0 0 0 0r   r   N)rz   r   r#   r   utilityr   	XMLwriterr    r   r   <module>r{     s~                " " " " " "f0 f0 f0 f0 f0i! f0 f0 f0 f0 f0r   