
    'j                        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
mZmZ ddlmZ  G d d	e	          Z G d
 de          ZdS )    )annotations)Iterable)Vec2   )BackendProperties)BackendBkPath2d
BkPoints2d	ImageData)Configurationc                  R     e Zd ZdZ fdZdd	ZddZddZddZddZ	ddZ
 xZS )BasicBackendz[The basic backend has no draw_path() support and approximates all curves
    by lines.
    c                    t                                                       g | _        |                     t	                                 d S N)super__init__	collector	configurer   )self	__class__s    \/DATA/AppData/hermes/venv/lib/python3.11/site-packages/ezdxf/addons/drawing/debug_backend.pyr   zBasicBackend.__init__   s<    }'''''    posr   
propertiesr   returnNonec                @    | j                             d||f           d S )Npointr   append)r   r   r   s      r   
draw_pointzBasicBackend.draw_point   s%    wZ899999r   startendc                B    | j                             d|||f           d S )Nliner   )r   r"   r#   r   s       r   	draw_linezBasicBackend.draw_line   s'    vuc:>?????r   pointsr
   c                @    | j                             d||f           d S )Nfilled_polygonr   )r   r'   r   s      r   draw_filled_polygonz BasicBackend.draw_filled_polygon   s(     	/DEEEEEr   
image_datar   c                @    | j                             d||f           d S )Nimager   )r   r+   r   s      r   
draw_imagezBasicBackend.draw_image!   s'     	w
J?@@@@@r   colorstrc                >    | j                             d|f           d S )Nbgcolorr   )r   r/   s     r   set_backgroundzBasicBackend.set_background&   s#    y%011111r   c                    g | _         d S r   )r   )r   s    r   clearzBasicBackend.clear)   s    r   )r   r   r   r   r   r   )r"   r   r#   r   r   r   r   r   )r'   r
   r   r   r   r   )r+   r   r   r   r   r   )r/   r0   r   r   )r   r   )__name__
__module____qualname____doc__r   r!   r&   r*   r.   r3   r5   __classcell__)r   s   @r   r   r      s         ( ( ( ( (
: : : :@ @ @ @F F F F
A A A A
2 2 2 2       r   r   c                      e Zd ZddZdd
ZdS )PathBackendpathr	   r   r   r   r   c                @    | j                             d||f           d S )Nr=   r   )r   r=   r   s      r   	draw_pathzPathBackend.draw_path.   s%    vtZ899999r   pathsIterable[BkPath2d]c                Z    | j                             dt          |          |f           d S )Nfilled_path)r   r    tuple)r   r@   r   s      r   draw_filled_pathszPathBackend.draw_filled_paths1   s-     	}eEllJGHHHHHr   N)r=   r	   r   r   r   r   )r@   rA   r   r   r   r   )r6   r7   r8   r?   rE    r   r   r<   r<   -   sB        : : : :I I I I I Ir   r<   N)
__future__r   typingr   
ezdxf.mathr   r   r   backendr   r	   r
   r   configr   r   r<   rF   r   r   <module>rL      s    # " " " " "             ) ) ) ) ) ) = = = = = = = = = = = = ! ! ! ! ! !    7   BI I I I I, I I I I Ir   