
    'j%                        d dl mZ d dlmZmZ d dlmZmZ d dlm	Z	 d dl
mZ d dlmZ d dlmZmZ  G d d	e          Zd
S )    )annotations)IterableIterator)
DXFGraphic	DXFEntity)const)AbstractTagWriter)SupportsVirtualEntities)default_copyCopyNotSupportedc                  V     e Zd ZdZd fdZd ZddZdd
ZddZe	fddZ
ddZ xZS )DXFGraphicProxyzFDO NOT USE THIS WRAPPER AS REAL DXF ENTITY OUTSIDE THE DRAWING ADD-ON!entityr   c                    t                                                       || _        |                     |          | _        d S N)super__init__r   _setup_dxf_namespacedxf)selfr   	__class__s     W/DATA/AppData/hermes/venv/lib/python3.11/site-packages/ezdxf/addons/drawing/gfxproxy.pyr   zDXFGraphicProxy.__init__   s9    ,,V44    c                    |j                             |           }| j                                        D ]0\  }}|                    |          s|                    ||           1|S r   )r   copyDEFAULT_ATTRIBSitemshasattrset)r   r   r   kvs        r   r   z$DXFGraphicProxy._setup_dxf_namespace   s`    jood##(..00 	 	DAq;;q>> 1
r   returnstrc                4    | j                                         S r   )r   dxftyper   s    r   r%   zDXFGraphicProxy.dxftype   s    {""$$$r   Iterator[DXFGraphic]c                    t          | j        t                    r| j                                        S t	          | j        d          r| j                                        S t          g           S )z0Implements the SupportsVirtualEntities protocol.virtual_entities)
isinstancer   r
   __virtual_entities__r   r)   iterr&   s    r   r+   z$DXFGraphicProxy.__virtual_entities__    s_    dk#:;; 	6;335554; 233 	2;//111Bxxr   Iterable[DXFGraphic]c                *    |                                  S r   )r+   r&   s    r   r)   z DXFGraphicProxy.virtual_entities(   s    ((***r   c                     t          d          )Nz+Copying of DXFGraphicProxy() not supported.)r   )r   copy_strategys     r   r   zDXFGraphicProxy.copy+   s    MNNNr   	tagwriterr	   boolc                    dS )NF )r   r1   s     r   preprocess_exportz!DXFGraphicProxy.preprocess_export.   s    ur   )r   r   )r"   r#   )r"   r'   )r"   r-   )r"   r   )r1   r	   r"   r2   )__name__
__module____qualname____doc__r   r   r%   r+   r)   r   r   r5   __classcell__)r   s   @r   r   r      s        PP5 5 5 5 5 5
  % % % %   + + + + ". O O O O O       r   r   N)
__future__r   typingr   r   ezdxf.entitiesr   r   ezdxf.lldxfr   ezdxf.lldxf.tagwriterr	   ezdxf.protocolsr
   ezdxf.entities.copyr   r   r   r4   r   r   <module>rB      s    # " " " " " % % % % % % % % 0 0 0 0 0 0 0 0       3 3 3 3 3 3 3 3 3 3 3 3 > > > > > > > >$ $ $ $ $j $ $ $ $ $r   