o
    b                     @  s   d dl mZ d dlmZ d dlmZmZmZmZm	Z	m
Z
 d dlmZmZ d dlmZmZ ddlmZ er;eeef ZneZeG dd	 d	eZd
S )    )annotations)Mapping)TYPE_CHECKINGAnyClassVarIteratorOptionalTuple)definefield)Identity	Transform   )_convert_transformc                   @  s   e Zd ZU dZdZded< 	 eeedZ	ded< 	 dZ
ded< 	 d ddZd!ddZdZded< dgedR Zded< d"ddZd#ddZd$ddZdS )%ImagezRepresents a background image reference.

    See http://unifiedfontobject.org/versions/ufo3/images/ and
    http://unifiedfontobject.org/versions/ufo3/glyphs/glif/#image.
    NzOptional[str]fileName)defaultZ	converterr   transformationcolorreturnNonec                 C  s   d| _ t| _d| _dS )z/Resets the image reference to factory settings.N)r   r   r   r   self r   7/usr/lib/python3/dist-packages/ufoLib2/objects/image.pyclear#   s   
zImage.clearboolc                 C  s
   | j duS )z"Indicates whether fileName is set.N)r   r   r   r   r   __bool__)   s   
zImage.__bool__)ZxScaleZxyScaleZyxScaleZyScaleZxOffsetZyOffsetz-ClassVar[Tuple[str, str, str, str, str, str]]_transformation_keys_z7ClassVar[Tuple[str, str, str, str, str, str, str, str]]_valid_keys_keystrr   c                 C  sR   z| j |}W n ty#   zt| |W  Y S  ty"   t|w w | j| S N)r   index
ValueErrorgetattrAttributeErrorKeyErrorr   )r   r    ir   r   r   __getitem__?   s   
zImage.__getitem__intc                 C  
   t | jS r"   )lenr   r   r   r   r   __len__J      
zImage.__len__Iterator[str]c                 C  r+   r"   )iterr   r   r   r   r   __iter__M   r.   zImage.__iter__)r   r   )r   r   )r    r!   r   r   )r   r*   )r   r/   )__name__
__module____qualname____doc__r   __annotations__r   r   r   r   r   r   r   r   r   r)   r-   r1   r   r   r   r   r      s(   
 

	

r   N)Z
__future__r   Zcollections.abcr   typingr   r   r   r   r   r	   attrr
   r   ZfontTools.misc.transformr   r   Zmiscr   r!   ZImageMappingr   r   r   r   r   <module>   s     