
    Og                        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              Y/var/www/html/public_html/myphp/venv/lib/python3.12/site-packages/ezdxf/addons/xplayer.pyhpgl2_to_drawingr+      s(    x(060A0A0C 9,Z=jI!)*<!=/222!,!5!5!7Fv;Dqy""6!9.@A!!&)VAY8JK!!("8"8"@BTUO888%%k3EFO999  9!!!%789!9$     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2S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,   