
    h>                        S SK Jr  S SKJrJr  S SKrS SKrS SKJrJ	r	J
r
  S SKJr  \(       a  S SKJr  SS/r1 S	kr " S
 S\R"                  5      r/ SQr " S S5      rg)    )annotations)OptionalTYPE_CHECKINGN)RGBint2rgbrgb2int)Tags)AbstractTagWriterGradientGradientType>   ?                       c                  <    \ rS rSrSrSrSrSrSrSr	Sr
S	rS
rSrSrg)r      r                           	    N)__name__
__module____qualname____firstlineno__NONELINEARCYLINDERINVCYLINDER	SPHERICALINVSPHERICALHEMISPHERICALINVHEMISPHERICALCURVED	INVCURVED__static_attributes__r#       I/var/www/html/env/lib/python3.13/site-packages/ezdxf/entities/gradient.pyr   r      s5    DFHKILMFIr3   )
 r)   r*   r+   r,   r-   r.   r/   r0   r1   c                  Z    \ rS rSrSS\R
                  4S	S jjr\S
S j5       rSS jr	Sr
g)r   .   r   r   c                    Xl         X l        [        SSS5      U l        S U l        [        SSS5      U l        S U l        SU l        SU l        SU l	        SU l
        [        U   U l        g )Nr      g        )kindnumber_of_colorsr   color1aci1color2aci2	one_colorrotationcenteredtintgradient_namesname)selfr:   numtypes       r4   __init__Gradient.__init__/   sf    	%(q!Q<#'	sC-#'	    #"	'-	r3   c                   U " 5       nUS   R                   S:X  d   eUS   R                  Ul        SnSnU H  u  pVUS:X  a  [        R                  " U5      Ul        M(  US:X  a  Xbl        M6  US:X  a  Xbl        MD  US:X  a  Xbl        MR  US:X  a  Xbl	        M`  US	:X  a  Xbl
        Mn  US
:X  a  U(       a
  Xbl        SnM  Xbl        M  US:X  d  M  U(       a  [        U5      Ul        SnM  [        U5      Ul        M     U$ )Nr   r   Tr   r   r   r   r   r   r   Fr   )codevaluer:   mathdegreesrA   rB   r@   rC   rE   r;   r=   r?   r   r<   r>   )clstagsgdatafirst_color_valuefirst_aci_valuerL   rM   s          r4   	load_tagsGradient.load_tagsB   s    Aw||s"""!W]]
 KDs{!%e!4!&"'"
"
).&"!&J&+O!&J$#*5>EL(-%#*5>EL1  2 r3   c                   UR                   nU" SU R                  5        U" SS5        U" S[        R                  " U R                  5      5        U" SU R
                  5        U" SU R                  5        U" SU R                  5        U" SU R                  5        U R                  S:  aE  U" S	S5        U R                  b  U" S
U R                  5        U" S[        U R                  5      5        U R                  S:  aE  U" S	S5        U R                  b  U" S
U R                  5        U" S[        U R                  5      5        U" SU R                  5        g )Nr   r   r   r   r   r   r   r   r   r   r   r   r   )
write_tag2r:   rN   radiansrA   rB   r@   rC   r;   r=   r   r<   r?   r>   rE   )rF   	tagwriter	write_tags      r4   
export_dxfGradient.export_dxfd   s   ((	#tyy!#q 	#t||DMM23#t}}%#t~~&#tyy!#t,,-  1$c1yy$"dii(c74;;/0  1$c1yy$"dii(c74;;/0#tyy!r3   )r=   r?   rB   r<   r>   r:   rE   r;   r@   rA   rC   N)r:   intrG   r^   )rQ   r	   returnr   )rZ   r
   r_   None)r$   r%   r&   r'   r   r)   rI   classmethodrU   r\   r2   r#   r3   r4   r   r   .   s.    #$9L9L .&  B"r3   )
__future__r   typingr   r   enumrN   ezdxf.colorsr   r   r   ezdxf.lldxf.tagsr	   ezdxf.lldxf.tagwriterr
   __all__GRADIENT_CODESIntEnumr   rD   r   r#   r3   r4   <module>rk      sT    # *   . . !7~
&G
4<< 
N" N"r3   