
    f2                     6    d dl Z d dlmZ  G d de          ZdS )    N)warnc                        e Zd ZdZ fdZd Zed             Zed             Zed             Z	ed             Z
ed             Zed	             Zed
             Zed             Z xZS )Shapez>
    A class for to represent Excel XLSX shape objects.


    c                    t          t          |                                            || _        || _        d| _        d| _        d| _        d| _        d| _	        d| _
        d| _        d| _        d| _        d| _        d| _        d| _        g | _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        |                      |           dS )z
        Constructor.

        r       NF)!superr   __init__name
shape_typeconnectdrawingedit_asidtexttextlinkstencilelementstartstart_indexend	end_indexadjustments
start_sideend_sideflip_hflip_vrotationtext_rotationtextboxalignfillfontformatlineurl_rel_indextip_set_options)selfr   r   options	__class__s       R/var/www/ffwdstore.be/apps/py-env/lib/python3.11/site-packages/xlsxwriter/shape.pyr   zShape.__init__   s
   
 	eT##%%%	$	

			!'"""""    c                 0   |                      |                    d                    | _        |                     |                    d                    | _        |                     |                    d                    | _        |                     |                    d                    | _        | 	                    |                    d                    | _
        |                    dd          | _        |                    dd	          | _        | j                            d
          r| j                            d
          | _        |                    d          r | 	                    |d                   | _
        | j        r	d | _        d S d S )Nr"   r#   r$   gradientr&   r    r   r   r   =border)_get_align_propertiesgetr"   _get_fill_propertiesr#   _get_font_propertiesr$   _get_gradient_propertiesr0   _get_line_propertiesr&   r    r   
startswithlstrip)r*   r+   s     r-   r)   zShape._set_optionsF   sQ   //G0D0DEE
--gkk&.A.ABB	--gkk&.A.ABB	55gkk*6M6MNN--gkk&.A.ABB	$[[!<<J33=##C(( 	6 M0055DM;;x   	E11'(2CDDDI = 	DIII	 	r.   c                     | sddiS t          j        |           } ddddddd	d
dddd}|                     d          }|$||v r||         | d<   nt          d|z             d S d| d<   | S )NdefinedFsolidsysDotsysDashdashdashDotlgDash	lgDashDotlgDashDotDotdot
sysDashDotsysDashDotDot)r=   	round_dot
square_dotr@   dash_dot	long_dashlong_dash_dotlong_dash_dot_dotrE   system_dash_dotsystem_dash_dot_dot	dash_typezUnknown dash type '%s'Tcopydeepcopyr4   r   )r&   
dash_typesrP   s      r-   r8   zShape._get_line_properties`   s      	&u%% }T"" !#!!(!/+#2
 

 HH[))	 J&&$.y$9[!!-	9:::Yr.   c                 D    | sddiS t          j        |           } d| d<   | S )Nr<   FT)rR   rS   )r#   s    r-   r5   zShape._get_fill_properties   s6      	&u%% }T""Yr.   c                 `   | sd S t          j        |           } |                     d          st          d           d S |                     d          st          d           d S i ddddd	d
dddddddddddddddddddddd d!d"d#d$d%d&i d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdV}| d         |vrt          dW| d         z             d S || d                  | d<   |                     dXdY          | dX<   | S )ZNpatternzPattern must include 'pattern'fg_colorzPattern must include 'fg_color'	percent_5pct5
percent_10pct10
percent_20pct20
percent_25pct25
percent_30pct30
percent_40pct40
percent_50pct50
percent_60pct60
percent_70pct70
percent_75pct75
percent_80pct80
percent_90pct90light_downward_diagonalltDnDiaglight_upward_diagonalltUpDiagdark_downward_diagonaldkDnDiagdark_upward_diagonaldkUpDiagwide_downward_diagonalwdDnDiagwide_upward_diagonalwdUpDiaglight_verticalltVertlight_horizontalltHorznarrow_verticalnarVertnarrow_horizontalnarHorzdark_verticaldkVertdark_horizontaldkHorzdashed_downward_diagonal
dashDnDiagdashed_upward_diagonal
dashUpDiagdashed_horizontaldashHorzdashed_verticaldashVertsmall_confetti
smConfettilarge_confetti
lgConfettizigzagzigZagwavediagonal_brick	diagBrickhorizontal_brick	horzBrickweaveplaiddivotdotGriddotDmndshingletrellisspheresmGridlgGridsmChecklgCheckopenDmnd	solidDmnd)r   r   r   dotted_griddotted_diamondr   r   r   
small_grid
large_gridsmall_checklarge_checkoutlined_diamondsolid_diamondzunknown pattern type '%s'bg_colorz#FFFFFFrQ   )rW   typess     r-   _get_pattern_propertieszShape._get_pattern_properties   s     	F -(({{9%% 	1222F{{:&& 	2333F1
1
'1
 '1
 '	1

 '1
 '1
 '1
 '1
 '1
 '1
 '1
 '1
 &z1
 $Z1
 %j1
  #J!1
" %j#1
 1
$ #J%1
& h'1
( )1
* y+1
,  -1
. X/1
0 x11
2 '31
4 %l51
6  71
8 z91
: l;1
< l=1
> h?1
@ FA1
B kC1
D E1
 1
F $'  ""$$ *(a1
 1
 1
h 9U**,wy/AABBBF!&wy'9!:GI &kk*i@@
r.   c                    | sd S t          j        |           } ddddd}d| vst          | d         t                    st	          d           d S dt          | d                   cxk    rd	k    sn t	          d
           d S d| v rjt          | d                   t          | d                   k    rt	          d           d S | d         D ]#}d|cxk    rdk    sn t	          d            d S $ntt          | d                   dk    rddg| d<   nSt          | d                   dk    rg d| d<   n2t          | d                   dk    rg d| d<   nt	          d           d S |                     d          }|r!d|cxk    rdk     sn t	          d           d S nd| d<   |                     d          }|$||v r||         | d<   nt	          d|z             d S d| d<   | S )Nlinearcirclerectshape)r   radialrectangularpathcolorsz!Gradient must include colors list   
   z@Gradient colors list must at least 2 values and not more than 10	positionsz0Gradient positions not equal to number of colorsr   d   z;Gradient position must be in the range 0 <= position <= 100   )r   2   r      )r   !   B   r   zMust specify gradient positionsangleih  z4Gradient angle must be in the range 0 <= angle < 360Z   typezUnknown gradient type '%s)rR   rS   
isinstancelistr   lenr4   )r0   r   posr   gradient_types        r-   r7   zShape._get_gradient_properties   s     	F =** !	
 
 8##:hx6H$+O+O#4555F C*++1111r1111STTTF(""8K())S(1C-D-DDDGHHH  ,  C3VWWWFF ' 8H%&&!++)*C%%Xh'((A--(4%%Xh'((A--(8(8(8%% 6777W%% 	#########KLLL $ !#HW !V,,$%%#(#7  0=@AAA'HVr.   c                    | i } |                      d          |                      d          |                      dd          |                      d          |                      d          |                      d          |                      d          |                      d	          |                      d
d          |                      dd          d
}|d         rt          |d         dz            |d<   |S )Nr   colorsize   bolditalic	underlinepitch_familycharsetbaseliner	   langzen-US)
r   r   r   r   r   r   r   r   r   r   r   )r4   int)r+   r$   s     r-   r6   zShape._get_font_properties0  s     ?G KK''[[))KK++KK''kk(++ [11#KK77{{9--J33KK00
 
 < 	3tF|c122DLr.   c                 
   g }| s|S |                      d          r|                    d| d         f           |                      d           |                    dd| d         z   f           |                      d           |                    dd| d         z   f           |                      d          |                    d	           |                      d
          dk    r|                    d
| d
         f           |S )Nr   szr   br   r   ir   )usngr   r	   )r4   appendr$   
attributess     r-   _get_font_style_attributesz Shape._get_font_style_attributesI  s    
 	88F 	4tT&\233388F'sAV$4566688H)sAX$6788888K  ,l+++88J2%%z4
+;<===r.   c                     g }| s|S | d         |                     d| d         f           | d         |                     d| d         f           | d         |                     d| d         f           |S )Nr   typefacer   pitchFamilyr   )r   r   s     r-   _get_font_latin_attributesz Shape._get_font_latin_attributesb  s     
 	<#z4<8999+}d>.BCDDD	?&y$y/:;;;r.   c                 $   | sddiS t          j        |           } d| v r4| d         }dddd}||v r||         | d<   nt          d|z             ddiS d	| v r4| d	         }d
ddd}||v r||         | d	<   nt          d|z             ddiS d| d<   | S )Nr<   Fverticaltopmiddlebottom)r   r   r   zUnknown alignment type '%s'
horizontalleftcenterright)r   r   r   T)rR   rS   r   )r"   
align_typealign_typess      r-   r3   zShape._get_align_propertiesu  s     	&u%% e$$z*J "" K [(($/
$;j!!2Z?@@@!5))5  |,J "  K [((&1*&=l##2Z?@@@!5))ir.   )__name__
__module____qualname____doc__r   r)   staticmethodr8   r5   r   r7   r6   r   r   r3   __classcell__)r,   s   @r-   r   r      s3        %# %# %# %# %#Z  4 # # \#J   \ N N \N` H H \HT   \0   \0   \$ ( ( \( ( ( ( (r.   r   )rR   warningsr   objectr    r.   r-   <module>r      s`          R R R R RF R R R R Rr.   