
    hV4                     8    S SK r S SKJr  S SKJr   " S S5      rg)    N)warn)Colorc                      ^  \ rS rSrSrU 4S jrS r\S 5       r\S 5       r	\S 5       r
\S 5       r\S	 5       r\S
 5       r\S 5       r\S 5       rSrU =r$ )Shape   z6
A class for to represent Excel XLSX shape objects.


c                   > [         TU ]  5         X l        Xl        SU l        SU l        SU l        SU l        SU l        SU l	        SU l
        SU l        SU l        SU l        SU l        SU l        / U l        SU l        SU l        SU l        SU l        SU l        SU l        SU l        SU l        SU l        SU l        SU l        SU l        U R;                  U5        g)z
Constructor.

r       NF)super__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_set_options)selfr   r   options	__class__s       cC:\Users\julio\OneDrive\Documentos\Trabajo\Ideas Frescas\venv\Lib\site-packages\xlsxwriter/shape.pyr   Shape.__init__   s    
 		$	

			'"    c                    U R                  UR                  S5      5      U l        U R                  UR                  S5      5      U l        U R                  UR                  S5      5      U l        U R                  UR                  S5      5      U l        U R                  UR                  S5      5      U l
        UR                  SS5      U l        UR                  SS	5      U l        U R                  R                  S
5      (       a   U R                  R                  S
5      U l        UR                  S5      (       a  U R                  US   5      U l
        U R                  (       a  S U l        g g )Nr$   r%   r&   gradientr(   r"   r   r   r	   =border)_get_align_propertiesgetr$   _get_fill_propertiesr%   _get_font_propertiesr&   _get_gradient_propertiesr1   _get_line_propertiesr(   r"   r   
startswithlstrip)r*   r+   s     r-   r)   Shape._set_optionsG   s   //G0DE
--gkk&.AB	--gkk&.AB	55gkk*6MN--gkk&.AB	$[[!<J3==##C(( MM005DM;;x  11'(2CDDI ==DI r/   c                 6   U (       d  SS0$ [         R                  " U 5      n SSSSSSS	S
SSSS.nU R                  S5      nUb  X!;   a  X   U S'   O[        SU S35        0 $ U R                  S5      (       a  [        R
                  " U S   5      U S'   SU S'   U $ )NdefinedFsolidsysDotsysDashdashdashDotlgDash	lgDashDotlgDashDotDotdot
sysDashDotsysDashDotDot)r?   	round_dot
square_dotrB   dash_dot	long_dashlong_dash_dotlong_dash_dot_dotrG   system_dash_dotsystem_dash_dot_dot	dash_typezUnknown dash type ''colorTcopydeepcopyr5   r   r   _from_value)r(   
dash_typesrR   s      r-   r9   Shape._get_line_propertiesa   s     u%% }}T" !#!!(!/+#2

 HH[)	 &$.$9[!*9+Q78	88G!--d7m<DMYr/   c                     U (       d  SS0$ [         R                  " U 5      n U R                  S5      (       a  [        R                  " U S   5      U S'   SU S'   U $ )Nr>   FrT   T)rV   rW   r5   r   rX   )r%   s    r-   r6   Shape._get_fill_properties   sW     u%% }}T"88G!--d7m<DMYr/   c                    U (       d  0 $ [         R                  " U 5      n U R                  S5      (       d  [        S5        0 $ U R                  S5      (       d  [        S5        0 $ 0 SS_SS_S	S
_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS _S!S"_S#S$_S%S&_0 S'S(_S)S*_S+S,_S-S._S/S0_S1S2_S3S4_S5S6_S7S8_S9S:_S;S<_S=S>_S?S@_SASB_SCSC_SDSE_SFSG_ESHSISJSKSLSMSNSOSPSQSRSSSTSUSV.EnU S   U;  a  [        SWU S    SX35        0 $ XS      U S'   U R                  S5      (       a  [        R
                  " U S   5      U S'   U R                  SY5      (       a  [        R
                  " U SY   5      U SY'   U $ [	        SZ5      U SY'   U $ )[N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 'rS   bg_colorz#FFFFFFrU   )r^   typess     r-   _get_pattern_propertiesShape._get_pattern_properties   s    I --({{9%%12I{{:&&23I1
1
'1
 '1
 '	1

 '1
 '1
 '1
 '1
 '1
 '1
 '1
 '1
 &z1
 $Z1
 %j1
  #J!1
" %j#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
F $'  ""$$ *(a1
h 9U*)')*<)=Q?@I"9#56	;;z"""'"3"3GJ4G"HGJ;;z"""'"3"3GJ4G"HGJ  #(	"2GJr/   c                    U (       d  0 $ [         R                  " U 5      n SSSSS.nSU ;  d  [        U S   [        5      (       d  [	        S5        0 $ S[        U S   5      s=::  a  S	::  d  O  [	        S
5        0 $ SU ;   aV  [        U S   5      [        U S   5      :w  a  [	        S5        0 $ U S    H!  nSUs=::  a  S::  a  M  O  [	        S5        0 s  $    O[[        U S   5      S:X  a  SS/U S'   OA[        U S   5      S:X  a  / SQU S'   O'[        U S   5      S:X  a  / SQU S'   O[	        S5        0 $ U R                  S5      nU(       a  SUs=::  a  S:  d  O  [	        S5        0 $ OSU S'   U R                  S5      nUb  XA;   a  X   U S'   O[	        SU 35        0 $ SU S'   U S    Vs/ s H  n[        R                  " U5      PM     snU S'   U $ s  snf )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 ')	rV   rW   
isinstancelistr   lenr5   r   rX   )r1   r   posr   gradient_typerT   s         r-   r8   Shape._get_gradient_properties   s   
 I ==* !	
 8#:hx6H$+O+O45I C*+1r1STI("8K()S(1C-DDGH	  ,C3VWI - 8H%&!+)*C%Xh'(A-(4%Xh'(A-(8% 67	W%##KL	 $ !#HW !V,$%#(#7 .}o>?	'HVDLXDVWDV5e//6DVW Xs   ( Gc                    U c  0 n U R                  S5      U R                  S5      U R                  SS5      U R                  S5      U R                  S5      U R                  S5      U R                  S5      U R                  S	5      U R                  S
S5      U R                  SS5      S.
nUS   (       a  [        US   S-  5      US'   UR                  S5      (       a  [        R                  " US   5      US'   U$ )Nr   rT   size   bolditalic	underlinepitch_familycharsetbaseliner   langzen-US)
r   rT   r   r   r   r   r   r   r   r   r   )r5   intr   rX   )r+   r&   s     r-   r7   Shape._get_font_properties?  s     ?G KK'[[)KK+KK'kk(+ [1#KK7{{9-J3KK0
 <tF|c12DL88G!--d7m<DMr/   c                    / nU (       d  U$ U R                  S5      (       a  UR                  SU S   45        U R                  S5      b  UR                  SSU S   -   45        U R                  S5      b  UR                  SSU S   -   45        U R                  S5      b  UR                  S	5        U R                  S
5      S:w  a  UR                  S
U S
   45        U$ )Nr   szr   br   r   ir   )usngr   r   )r5   appendr&   
attributess     r-   _get_font_style_attributes Shape._get_font_style_attributes[  s     
88FtT&\2388F'sAV$45688H)sAX$67888K ,l+88J2%z4
+;<=r/   c                     / nU (       d  U$ U S   b  UR                  SU S   45        U S   b  UR                  SU S   45        U S   b  UR                  SU S   45        U$ )Nr   typefacer   pitchFamilyr   )r   r   s     r-   _get_font_latin_attributes Shape._get_font_latin_attributest  s}     
<#z4<89+}d>.BCD	?&y$y/:;r/   c                    U (       d  SS0$ [         R                  " U 5      n SU ;   a+  U S   nSSSS.nX;   a  X!   U S'   O[        SU S	35        SS0$ S
U ;   a+  U S
   nSSSS.nX;   a  X!   U S
'   O[        SU S	35        SS0$ SU S'   U $ )Nr>   Fverticaltopmiddlebottom)r   r   r   zUnknown alignment type 'rS   
horizontalleftcenterright)r   r   r   T)rV   rW   r   )r$   
align_typealign_typess      r-   r4   Shape._get_align_properties  s     u%% e$z*J ""K ($/$;j!/
|1=>!5))5 |,J " K (&1&=l#/
|1=>!5))ir/   )r   r$   r   r   r   r   r   r   r   r%   r   r    r&   r'   r1   r   r(   r   r!   r   r   r   r   r   r   r"   r#   r   )__name__
__module____qualname____firstlineno____doc__r   r)   staticmethodr9   r6   r   r8   r7   r   r   r4   __static_attributes____classcell__)r,   s   @r-   r   r      s    ##V4 & &P    S Sj K KZ  6  0  $ ( (r/   r   )rV   warningsr   xlsxwriter.colorr   r    r/   r-   <module>r     s      "a ar/   