Ë
     #eÊ  ã                  óþ   — d dl mZ d dlZd dlZd dlmZmZ d dlmZ d dl	m
Z
 ej                  dk\  rd dlmZ nd dlmZ  ed«      Z	 eeed	d
f   Z	  G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Zy)é    )ÚannotationsN)ÚTypeVarÚUnion)ÚAbstractPen)ÚAbstractPointPen)é   é   )ÚProtocolÚTzos.PathLike[str]zos.PathLike[bytes]c                  ó   — e Zd ZdZdd„Zy)ÚDrawablez†Stand-in for an object that can draw itself with a given pen.

    See :mod:`fontTools.pens.basePen` for an introduction to pens.
    c                 ó   — y ©N© ©ÚselfÚpens     ú0/usr/lib/python3/dist-packages/ufoLib2/typing.pyÚdrawzDrawable.draw   ó   € Øó    N)r   r   ÚreturnÚNone)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r      ó   „ ñô
r   r   c                  ó   — e Zd ZdZdd„Zy)ÚDrawablePointsz‘Stand-in for an object that can draw its points with a given pen.

    See :mod:`fontTools.pens.pointPen` for an introduction to point pens.
    c                 ó   — y r   r   r   s     r   Ú
drawPointszDrawablePoints.drawPoints'   r   r   N)r   r   r   r   )r   r   r   r   r"   r   r   r   r    r    !   r   r   r    c                  ó   — e Zd ZU dZded<   y)ÚHasIdentifierzxAny object that has a unique identifier in some context that can be
    used as a key in a public.objectLibs dictionary.z
str | NoneÚ
identifierN)r   r   r   r   Ú__annotations__r   r   r   r$   r$   +   s   … ñ8ð Ôr   r$   c                  ó    — e Zd ZdZdd„Zdd„Zy)ÚGlyphSeta  Any container that holds drawable objects.

    In ufoLib2, this usually refers to :class:`.Font` (referencing glyphs in the
    default layer) and :class:`.Layer` (referencing glyphs in that particular layer).
    Ideally, this would be a simple subclass of ``Mapping[str, Union[Drawable, DrawablePoints]]``,
    but due to historic reasons, the established objects don't conform to ``Mapping``
    exactly.

    The protocol contains what is used in :mod:`fontTools.pens` at v4.18.2
    (grep for ``.glyphSet``).
    c                 ó   — y r   r   ©r   Únames     r   Ú__contains__zGlyphSet.__contains__@   r   r   c                 ó   — y r   r   r*   s     r   Ú__getitem__zGlyphSet.__getitem__C   r   r   N)r+   Úobjectr   Úbool)r+   Ústrr   zDrawable | DrawablePoints)r   r   r   r   r,   r.   r   r   r   r(   r(   2   s   „ ñ
óôr   r(   )Ú
__future__r   ÚosÚsysÚtypingr   r   ÚfontTools.pens.basePenr   ÚfontTools.pens.pointPenr   Úversion_infor
   Útyping_extensionsr   r1   ÚbytesÚPathLiker   r    r$   r(   r   r   r   ú<module>r<      s   ðÝ "ã 	Û 
ß !å .Ý 4à×ÑvÒÞå*ñ ˆCƒL€Ø HàeÐ/Ð1EÐEÑF€Ø 2ôˆxô ôXô ôHô ôˆxõ r   