
    h                        S r SSKJr  SSKJr  SSKJr  SSKJr  SSK	J
r
Jr  SSKJr  SSKJr  SS	KJrJr    S         SS jjrSS jrSS jrSSS jjrg
)zxplayer = cross backend player.    )annotations)Callable)Vec2)RGB)BackendInterfaceBkPath2d)BackendProperties)api)
Properties
RecordTypeNc                   U(       a  UR                  U5        U R                  5        GH  u  pEn[        U5      nU(       a  U" U5      nU[        R                  :X  a  UR                  5       n[        U5      n	U	S:X  a  UR                  US   U5        Mm  U	S:X  a  UR                  US   US   U5        M  UR                  [        R                  " U5      U5        M  U[        R                  :X  a  UR                  Xg5        M  U[        R                  :X  d  M  U H  n
UR                  X5        M     GM     UR                  5         g)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              F/var/www/html/env/lib/python3.13/site-packages/ezdxf/addons/xplayer.pyhpgl2_to_drawingr+      s    x(060A0A0C,=jI!)*<!=/222!,!5!5!7Fv;Dqy""6!9.@A!!&)VAY8JK!!("8"8"@BTUO888%%kFO999 !!!8 !! 1D$     c                t    [        U R                  R                  5       U R                  SU R                  SS9$ )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                   ^  SU 4S jjnU$ )Nc                n   > [        TU R                  U R                  U R                  U R                  S9$ )Nr0   )r	   r2   r3   r4   r5   )r$   r1   s    r*   
_map_colormap_color.<locals>._map_color<   s5     !,,""$$
 	
r,   r$   r	   returnr	    )r1   r<   s   ` r*   	map_colorrA   ;   s    
 r,   c                *   ^ ^ SU 4S jjmSU4S jjnU$ )Nc                   > [        [        R                  " U 5      R                  S-  5      nT(       a  SU-
  n[        XU5      R	                  5       $ )N   )roundr   from_hex	luminancer7   )r1   gray	dark_modes     r*   to_graymap_monochrome.<locals>.to_grayI   sC    S\\%(22S89:D4t$++--r,   c                   > U R                   nUSS n[        T" US S 5      U-   U R                  U R                  U R                  U R
                  S9$ )N   	   r0   )r1   r	   r2   r3   r4   r5   )r$   r1   alpharJ   s      r*   r<   "map_monochrome.<locals>._map_colorO   s[      a
 %)$u,!,,""$$
 	
r,   )r1   strr?   rQ   r>   r@   )rI   r<   rJ   s   ` @r*   map_monochromerR   H   s    .	
 r,   )z#ffffffN)
r   zhpgl2.Playerr    r   r!   rQ   r"   z7Callable[[BackendProperties], BackendProperties] | Noner?   None)r$   HPGL2Propertiesr?   r	   )r1   rQ   r?   0Callable[[BackendProperties], BackendProperties])T)r?   rU   )__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   rT   r   r   r+   r   rA   rR   r@   r,   r*   <module>r`      so    & "    C = + HL	  F	
 
<
r,   