Ë
    £èhï  ã                  ó  — d dl mZ d dlZd dlZd dlZd dlmZ  G d„ dej                  «      Z G d„ dej                  «      Z	 eddd«      Z
 ed d d «      Z ed	d	d	«      Z ed
d
d
«      Zej                   G d„ d«      «       Z G d„ d«      Zy)é    )ÚannotationsN)ÚRGBc                  ó$   — e Zd ZdZdZdZdZdZdZy)ÚFillTypezFill type enumeration.r   é   é   é   é   N)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚNONEÚSOLIDÚHATCHINGÚCROSS_HATCHINGÚSHADING© ó    ú=lib/python3.12/site-packages/ezdxf/addons/hpgl2/properties.pyr   r   
   s   „ Ù à€DØ€EØ€HØ€NØ�Gr   r   c                  ó   — e Zd ZdZdZdZy)Ú
FillMethodzFill method enumeration.r   r   N)r   r   r   r   ÚEVEN_ODDÚNON_ZERO_WINDINGr   r   r   r   r      s   „ Ù"à€HØÑr   r   éÿÿÿÿéÿ   éÈ   c                  ó0   — e Zd ZU dZded<   ded<   ded<   y)	ÚPenzRepresents a pen table entry.ÚintÚindexÚfloatÚwidthr   ÚcolorN)r   r   r   r   Ú__annotations__r   r   r   r   r   !   s   … á'àƒJØƒLØ„Jr   r   c                  ó’   — e Zd ZdZ edde«      Zdd„Zdd„Zdd„Z	d„ Z
dd„Zdd	„Zdd
„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zy)Ú
Propertiesz Consolidated display properties.r   çffffffÖ?c                óð   — d| _         t        | _        d| _        t        j
                  | _        t        j                  | _	        d| _
        d| _        d| _        d| _        i | _        | j                  «        y )Nr   r(   ç        ç      D@ç      Y@r   )Ú	pen_indexÚRGB_NONEÚ	pen_colorÚ	pen_widthr   r   Ú	fill_typer   r   Úfill_methodÚfill_hatch_line_angleÚfill_hatch_line_spacingÚfill_shading_densityÚmax_pen_countÚ	pen_tableÚreset©Úselfs    r   Ú__init__zProperties.__init__/   s`   € àˆŒÜ!ˆŒØ $ˆŒÜ!Ÿ™ˆŒÜ%×.Ñ.ˆÔØ,/ˆÔ"Ø.2ˆÔ$Ø+0ˆÔ!à"#ˆÔØ)+ˆŒØ�
‰
�r   c           
     óÈ   — t        | j                  | j                  | j                  | j                  | j
                  | j                  | j                  | j                  f«      S ©N)	Úhashr-   r/   r0   r1   r2   r3   r4   r5   r9   s    r   r>   zProperties.hash>   sT   € Üà—‘Ø—‘Ø—‘Ø—‘Ø× Ñ Ø×*Ñ*Ø×,Ñ,Ø×)Ñ)ð	ó
ð 	
r   c                ó,   — t        j                   | «      S r=   )Úcopyr9   s    r   r@   zProperties.copyL   s   € ä�y‰y˜‹Ðr   c           	     ó$  — t        | j                  «      ry | j                  }| j                  j                  }t	        d|t        ddd«      «      |d<   t	        d|t        ddd«      «      |d<   t	        d|t        ddd«      «      |d<   t	        d|t        ddd«      «      |d<   t	        d|t        ddd«      «      |d<   t	        d|t        ddd«      «      |d<   t	        d|t        ddd«      «      |d<   t	        d|t        ddd«      «      |d	<   y )
Nr   r   r   r   r	   r
   é   é   é   )Úlenr7   ÚDEFAULT_PENr#   r   r   )r:   Úpensr#   s      r   Úsetup_default_pen_tablez"Properties.setup_default_pen_tableP   sÿ   € Üˆt�~‰~ÔØØ�~‰~ˆØ× Ñ ×&Ñ&ˆÜ�a˜¤ C¨¨cÓ 2Ó3ˆˆQ‰Ü�a˜¤ A q¨!£Ó-ˆˆQ‰Ü�a˜¤ C¨¨A£Ó/ˆˆQ‰Ü�a˜¤ A s¨A£Ó/ˆˆQ‰Ü�a˜¤ C¨¨aÓ 0Ó1ˆˆQ‰Ü�a˜¤ A q¨#£Ó/ˆˆQ‰Ü�a˜¤ C¨¨CÓ 0Ó1ˆˆQ‰Ü�a˜¤ A s¨CÓ 0Ó1ˆˆQŠr   c                ó`  — d| _         | j                  j                  | _        | j                  j                  | _        | j                  j                  | _        i | _        t        j                  | _        t        j                  | _        d| _        d| _        d| _        | j%                  «        y )Nr   r*   r+   g      ð?)r6   rF   r!   r-   r$   r/   r#   r0   r7   r   r   r1   r   r   r2   r3   r4   r5   rH   r9   s    r   r8   zProperties.reset^   s‡   € ØˆÔØ×)Ñ)×/Ñ/ˆŒØ×)Ñ)×/Ñ/ˆŒØ×)Ñ)×/Ñ/ˆŒØˆŒÜ!Ÿ™ˆŒÜ%×.Ñ.ˆÔØ%(ˆÔ"Ø'+ˆÔ$Ø$'ˆÔ!Ø×$Ñ$Õ&r   c                óN   — | j                   j                  || j                  «      S r=   )r7   ÚgetrF   )r:   r!   s     r   Úget_penzProperties.get_penk   s   € Ø�~‰~×!Ñ! %¨×)9Ñ)9Ó:Ð:r   c                ó   — || _         y r=   )r6   )r:   Úcounts     r   Úset_max_pen_countzProperties.set_max_pen_countn   s
   € Ø"ˆÕr   c                óx   — || _         | j                  |«      }|j                  | _        |j                  | _        y r=   )r-   rL   r#   r0   r$   r/   )r:   r!   Úpens      r   Úset_current_penzProperties.set_current_penq   s-   € ØˆŒØ�l‰l˜5Ó!ˆØŸ™ˆŒØŸ™ˆ�r   c                ó¢   — |dk(  r|| _         y | j                  j                  |t        ||| j                  j
                  «      «      }||_        y ©Nr   )r0   r7   Ú
setdefaultr   rF   r$   r#   )r:   r!   r#   rQ   s       r   Úset_pen_widthzProperties.set_pen_widthw   sG   € Ø�BŠ;Ø"ˆD�Nà—.‘.×+Ñ+Ø”s˜5 %¨×)9Ñ)9×)?Ñ)?Ó@óˆCð ˆC�Ir   c                ó¢   — |dk(  r|| _         y | j                  j                  |t        || j                  j
                  |«      «      }||_        y rT   )r/   r7   rU   r   rF   r#   r$   )r:   r!   ÚrgbrQ   s       r   Úset_pen_colorzProperties.set_pen_color€   sG   € Ø�BŠ;Ø ˆD�Nà—.‘.×+Ñ+Ø”s˜5 $×"2Ñ"2×"8Ñ"8¸#Ó>óˆCð ˆC�Ir   c                ó  — |dk(  r$t         j                  | _        || _        || _        y |dk(  r$t         j
                  | _        || _        || _        y |dk(  rt         j                  | _        || _        y t         j                  | _        y )Nr	   r
   é
   )	r   r   r1   r4   r3   r   r   r5   r   )r:   r1   ÚspacingÚangles       r   Úset_fill_typezProperties.set_fill_type‰   sq   € Ø˜Š>Ü%×.Ñ.ˆDŒNØ+2ˆDÔ(Ø).ˆDÕ&Ø˜!Š^Ü%×4Ñ4ˆDŒNØ+2ˆDÔ(Ø).ˆDÕ&Ø˜"Š_Ü%×-Ñ-ˆDŒNØ(/ˆDÕ%ä%Ÿ^™^ˆD�Nr   c                ó$   — t        |«      | _        y r=   )r   r2   )r:   r2   s     r   Úset_fill_methodzProperties.set_fill_method˜   s   € Ü% kÓ2ˆÕr   c                óÂ   — | j                   }|t        u r<| j                  j                  | j                  | j
                  «      }|j                  }|t        u rt        S |S )z Returns the final RGB pen color.)r/   r.   r7   rK   r-   rF   r$   Ú	RGB_BLACK)r:   rX   rQ   s      r   Úresolve_pen_colorzProperties.resolve_pen_color›   sM   € à�n‰nˆØ”(‰?Ø—.‘.×$Ñ$ T§^¡^°T×5EÑ5EÓFˆCØ—)‘)ˆCØ”(‰?ÜÐØˆ
r   c                óN  — | j                   }|t        j                  k(  r| j                  «       S |t        j                  k(  r2t        t        dd| j                  z
  z  «      d«      }t        |||«      S |t        j                  k(  s|t        j                  k(  rt        S t        S )z!Returns the final RGB fill color.gffffff@r,   r   )r1   r   r   rc   r   Úminr    r5   r   r   r   Ú
LIGHT_GREYÚ	RGB_WHITE)r:   ÚftÚgreys      r   Úresolve_fill_colorzProperties.resolve_fill_color¥   s‹   € à�^‰^ˆØ”—‘ÒØ×)Ñ)Ó+Ð+Ø”8×#Ñ#Ò#Ü”s˜4 5¨4×+DÑ+DÑ#DÑEÓFÈÓLˆDÜ�t˜T 4Ó(Ð(Ø”8×$Ñ$Ò$¨¬h×.EÑ.EÒ(EÜÐÜÐr   N)ÚreturnÚNone)rk   r    )rk   r'   )r!   r    rk   r   )rN   r    rk   rl   )r!   r    rk   rl   )r!   r    r#   r"   rk   rl   )r!   r    rX   r   rk   rl   )r1   r    r\   r"   r]   r"   )r2   r    rk   rl   )rk   r   )r   r   r   r   r   r.   rF   r;   r>   r@   rH   r8   rL   rO   rR   rV   rY   r^   r`   rc   rj   r   r   r   r'   r'   *   sY   „ Ù*á�a˜˜xÓ(€Kóó
óò2ó'ó;ó#ó#óóó,ó3óô
r   r'   )Ú
__future__r   ÚdataclassesÚenumr@   Úezdxf.colorsr   ÚIntEnumr   r   r.   rb   rg   rf   Ú	dataclassr   r'   r   r   r   Ú<module>rs      s™   ðõ #Û Û Û Ý ôˆt�|‰|ô ô�—‘ô ñ ˆr�2�r‹?€Ù��1�a‹L€	Ù��S˜#Ó€	Ù��c˜3Ó€
ð ×Ñ÷ð ó ð÷Eò Er   