Ë
    £èh  ã                  óª   — d Z ddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
mZ ddlmZ ddlmZ dd	lmZmZ 	 	 d	 	 	 	 	 	 	 	 	 dd„Zdd„Zdd„Zddd„Zy
)zxplayer = cross backend player.é    )Úannotations)ÚCallable)ÚVec2)ÚRGB)ÚBackendInterfaceÚBkPath2d)ÚBackendProperties)Úapi)Ú
PropertiesÚ
RecordTypeNc                óh  — |r|j                  |«       | j                  «       D ]ü  \  }}}t        |«      }|r ||«      }|t        j                  k(  r{|j                  «       }t        |«      }	|	dk(  r|j                  |d   |«       Œe|	dk(  r|j                  |d   |d   |«       Œ„|j                  t        j                  |«      |«       Œª|t        j                  k(  r|j                  ||«       ŒÐ|t        j                  k(  sŒä|D ]  }
|j                  |
|«       Œ Œþ |j                  «        y)zPReplays the recordings of the HPGL2 Recorder on a backend of the drawing add-on.é   r   é   N)Úset_backgroundÚ
recordingsÚ _make_drawing_backend_propertiesÚHPGL2RecordTypeÚPOLYLINEÚverticesÚlenÚ
draw_pointÚ	draw_lineÚ	draw_pathr   Úfrom_verticesÚFILLED_PATHSÚdraw_filled_pathsÚOUTLINE_PATHSÚfinalize)ÚplayerÚbackendÚbg_colorÚoverrideÚrecord_typeÚ
propertiesÚrecord_dataÚbackend_propertiesÚpointsÚsizeÚps              ú4lib/python3.12/site-packages/ezdxf/addons/xplayer.pyÚhpgl2_to_drawingr+      s  € ñ Ø×Ñ˜xÔ(Ø06×0AÑ0AÖ0CÑ,ˆ�Z Ü=¸jÓIÐÙÙ!)Ð*<Ó!=ÐØœ/×2Ñ2Ò2Ø!,×!5Ñ!5Ó!7ˆFÜ�v“;ˆDØ�qŠyØ×"Ñ" 6¨!¡9Ð.@ÕAØ˜’Ø×!Ñ! &¨¡)¨V°A©YÐ8JÕKà×!Ñ!¤(×"8Ñ"8¸Ó"@ÐBTÕUØœO×8Ñ8Ò8Ø×%Ñ% kÐ3EÕFØœO×9Ñ9Ó9Û �Ø×!Ñ! !Ð%7Õ8ñ !ð! 1Dð$ ×ÑÕó    c                óz   — t        | j                  j                  «       | j                  d| j                  d¬«      S )z0Make BackendProperties() for the drawing add-on.Ú0Ú ©ÚcolorÚ
lineweightÚlayerÚpenÚhandle)r	   Ú	pen_colorÚto_hexÚ	pen_widthÚ	pen_index)r$   s    r*   r   r   0   s9   € äØ×"Ñ"×)Ñ)Ó+Ø×'Ñ'ØØ× Ñ Øôð r,   c                ó   ‡ — dˆ fd„}|S )Nc                ót   •— t        ‰| j                  | j                  | j                  | j                  ¬«      S )Nr0   )r	   r2   r3   r4   r5   )r$   r1   s    €r*   Ú
_map_colorzmap_color.<locals>._map_color<   s5   ø€ Ü ØØ!×,Ñ,Ø×"Ñ"Ø—‘Ø×$Ñ$ô
ð 	
r,   ©r$   r	   Úreturnr	   © )r1   r<   s   ` r*   Ú	map_colorr@   ;   s   ø€ õ
ð Ðr,   c                ó"   ‡ ‡— dˆ fd„Šdˆfd„}|S )Nc                óž   •— t        t        j                  | «      j                  dz  «      }‰rd|z
  }t        |||«      j	                  «       S )Néÿ   )Úroundr   Úfrom_hexÚ	luminancer7   )r1   ÚgrayÚ	dark_modes     €r*   Úto_grayzmap_monochrome.<locals>.to_grayI   sE   ø€ Ü”S—\‘\ %Ó(×2Ñ2°SÑ8Ó9ˆÙØ˜‘:ˆDÜ�4˜˜tÓ$×+Ñ+Ó-Ð-r,   c                ó®   •— | j                   }|dd }t         ‰|d d «      |z   | j                  | j                  | j                  | j
                  ¬«      S )Né   é	   r0   )r1   r	   r2   r3   r4   r5   )r$   r1   ÚalpharI   s      €r*   r<   z"map_monochrome.<locals>._map_colorO   s[   ø€ Ø× Ñ ˆØ�a˜�
ˆÜ Ù˜%  ˜)Ó$ uÑ,Ø!×,Ñ,Ø×"Ñ"Ø—‘Ø×$Ñ$ô
ð 	
r,   )r1   Ústrr>   rN   r=   r?   )rH   r<   rI   s   ` @r*   Úmap_monochromerO   H   s   ù€ õ.õ	
ð Ðr,   )z#ffffffN)
r   zhpgl2.Playerr    r   r!   rN   r"   z7Callable[[BackendProperties], BackendProperties] | Noner>   ÚNone)r$   ÚHPGL2Propertiesr>   r	   )r1   rN   r>   ú0Callable[[BackendProperties], BackendProperties])T)r>   rR   )Ú__doc__Ú
__future__r   Útypingr   Ú
ezdxf.mathr   Úezdxf.colorsr   Úezdxf.addons.drawing.backendr   r   Úezdxf.addons.drawing.propertiesr	   Úezdxf.addons.hpgl2r
   Úhpgl2Úezdxf.addons.hpgl2.backendr   rQ   r   r   r+   r   r@   rO   r?   r,   r*   Ú<module>r]      so   ðñ &Ý "Ý Ý Ý ç CÝ =Ý +÷ð ØHLð	Øðàðð ðð Fð	ð
 
óó<ó
õr,   