
    hm                    Z    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\5      rg	)
    )annotations)Sequence   )Backend)Vec2Path)
Propertiesc                  X    \ rS rSrS rS
S jr        SS jrSS jrS rSS jr	Sr
g	)PolygonBuffer
   c                0    [        5       U l        SU l        g NFr   pathstart_new_sub_polygonselfs    S/var/www/html/env/lib/python3.13/site-packages/ezdxf/addons/hpgl2/polygon_buffer.py__init__PolygonBuffer.__init__   s    F	%*"    c                   [        U5      S:X  a  g SnU R                  (       a  SU l        [        U5      nU R                  R                  R	                  X#   5      (       a9  US-  nX4:X  a  g U R                  R                  R	                  X#   5      (       a  M9  U R                  R                  X#   5        X#S-   S   H  nU R                  R                  U5        M      g )Nr   Fr   )lenr   r   endisclosemove_toline_to)r   
propertiespointsindexcountps         r   draw_polylinePolygonBuffer.draw_polyline   s    v;!%%).D&KE))--''66
> ))--''66 IIfm,	$AIIa  %r   c                
   U(       a
  [        5       eU Hl  n[        U5      S:X  a  M  U R                  (       a,  SU l        U R                  R	                  UR
                  5        U R                  R                  U5        Mn     g )Nr   F)NotImplementedErrorr   r   r   r   startappend_path)r   r   pathsfilledr"   s        r   
draw_pathsPolygonBuffer.draw_paths   sa     %''A1v{))-2*		!!!''*II!!!$ r   c                H    [        U R                  R                  5       5      $ )N)listr   	sub_pathsr   s    r   	get_pathsPolygonBuffer.get_paths+   s    DII'')**r   c                |    [        U R                  5      (       a"  U R                  R                  5         SU l        g g )NT)r   r   close_sub_pathr   r   s    r   
close_pathPolygonBuffer.close_path.   s,    tyy>>II$$&)-D& r   c                2    [        U5      U l        SU l        g r   r   )r   locations     r   resetPolygonBuffer.reset3   s    N	%*"r   )r   r   N)r   r	   r   zSequence[Vec2]returnNone)r   r	   r)   Sequence[Path]r*   boolr:   r;   )r:   r<   )r7   r   r:   r;   )__name__
__module____qualname____firstlineno__r   r#   r+   r0   r4   r8   __static_attributes__ r   r   r   r   
   s@    +!%$%-;%EI%	%+.
+r   r   N)
__future__r   typingr   backendr   depsr   r   r   r	   r   rC   r   r   <module>rH      s"    #    "++G ++r   