
    Og>                        d dl mZ d dlmZmZ d dlZd dlZd dlmZm	Z	m
Z
 d dlmZ erd dlmZ ddgZh d	Z G d
 dej"                        Zg dZ G d d      Zy)    )annotations)OptionalTYPE_CHECKINGN)RGBint2rgbrgb2int)Tags)AbstractTagWriterGradientGradientType>   ?                       c                  4    e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
Zy)r   r                           	   N)__name__
__module____qualname__NONELINEARCYLINDERINVCYLINDER	SPHERICALINVSPHERICALHEMISPHERICALINVHEMISPHERICALCURVED	INVCURVED     \/var/www/html/public_html/myphp/venv/lib/python3.12/site-packages/ezdxf/entities/gradient.pyr   r      s5    DFHKILMFIr0   )
 r&   r'   r(   r)   r*   r+   r,   r-   r.   c                  J    e Zd Zddej                  fddZedd       Zd	dZy)
r   r   r   c                    || _         || _        t        ddd      | _        d | _        t        ddd      | _        d | _        d| _        d| _        d| _	        d| _
        t        |   | _        y )Nr      g        )kindnumber_of_colorsr   color1aci1color2aci2	one_colorrotationcenteredtintgradient_namesname)selfr6   numtypes       r1   __init__zGradient.__init__/   sj    	%(q!Q<#'	sC-#'	    #"	'-	r0   c                    |        }|d   j                   dk(  sJ |d   j                  |_        d}d}|D ]  \  }}|dk(  rt        j                  |      |_        &|dk(  r||_        3|dk(  r||_        @|dk(  r||_        M|dk(  r||_	        Z|d	k(  r||_
        g|d
k(  r|r
||_        d}x||_        |dk(  s|rt        |      |_        d}t        |      |_         |S )Nr   r   Tr   r   r   r   r   r   r   Fr   )codevaluer6   mathdegreesr=   r>   r<   r?   rA   r7   r9   r;   r   r8   r:   )clstagsgdatafirst_color_valuefirst_aci_valuerG   rH   s          r1   	load_tagszGradient.load_tagsB   s    Aw||s"""!W]]
  	2KD%s{!%e!4!&"'"
"
).&"!&EJ&+O!&EJ$#*5>EL(-%#*5>EL1	22 r0   c                   |j                   } |d| j                          |dd        |dt        j                  | j                                |d| j
                          |d| j                          |d| j                          |d| j                         | j                  dkD  rD |d	d       | j                   |d
| j                          |dt        | j                               | j                  dkD  rD |d	d       | j                   |d
| j                          |dt        | j                                |d| j                         y )Nr   r   r   r   r   r   r   r   r   r   r   r   r   )
write_tag2r6   rI   radiansr=   r>   r<   r?   r7   r9   r   r8   r;   r:   rA   )rB   	tagwriter	write_tags      r1   
export_dxfz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!r0   N)r6   intrC   rW   )rL   r	   returnr   )rT   r
   rX   None)	r"   r#   r$   r   r&   rE   classmethodrP   rV   r/   r0   r1   r   r   .   s.    #$9L9L .&  B"r0   )
__future__r   typingr   r   enumrI   ezdxf.colorsr   r   r   ezdxf.lldxf.tagsr	   ezdxf.lldxf.tagwriterr
   __all__GRADIENT_CODESIntEnumr   r@   r   r/   r0   r1   <module>rd      sT    # *   . . !7~
&G
4<< 
N" N"r0   