
     #e                        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 ddlmZ ereeef   ZneZee G d	 d
e                    Zy)    )annotations)Mapping)TYPE_CHECKINGAnyClassVarIteratorOptionalTuple)definefield)Identity	Transform)serde   )_convert_transformc                      e Zd ZU dZdZded<   	  eee      Z	ded<   	 dZ
ded<   	 dd	Zdd
ZdZded<   dgedZded<   ddZddZddZy)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)default	converterr   transformationcolorc                6    d| _         t        | _        d| _        y)z/Resets the image reference to factory settings.N)r   r   r   r   selfs    7/usr/lib/python3/dist-packages/ufoLib2/objects/image.pyclearzImage.clear&   s    &
    c                    | j                   duS )z"Indicates whether fileName is set.N)r   r   s    r   __bool__zImage.__bool__,   s    }}D((r   )xScalexyScaleyxScaleyScalexOffsetyOffsetz-ClassVar[Tuple[str, str, str, str, str, str]]_transformation_keys_z7ClassVar[Tuple[str, str, str, str, str, str, str, str]]_valid_keys_c                    	 | j                   j                  |      }| j                  |   S # t        $ r( 	 t	        | |      cY S # t
        $ r t        |      w xY ww xY wN)r'   indexr   
ValueErrorgetattrAttributeErrorKeyError)r   keyis      r   __getitem__zImage.__getitem__B   sl    	***005A &&q))  	$$tS))! $sm#$	$s    , 	AAAAAc                ,    t        | j                        S r*   )lenr(   r   s    r   __len__zImage.__len__M   s    4$$%%r   c                ,    t        | j                        S r*   )iterr(   r   s    r   __iter__zImage.__iter__P   s    D%%&&r   )returnNone)r9   bool)r0   strr9   r   )r9   int)r9   zIterator[str])__name__
__module____qualname____doc__r   __annotations__r   r   r   r   r   r   r    r'   r(   r2   r5   r8    r   r   r   r      s     #Hm"$ %hBT UNIU9E=))LH  	M	M 	MLI 	*&'r   r   N)
__future__r   collections.abcr   typingr   r   r   r   r	   r
   attrsr   r   fontTools.misc.transformr   r   ufoLib2.serder   miscr   r<   ImageMappingr   rC   r   r   <module>rL      sX    " # J J  8  $ 38$LL ;'L ;'  ;'r   