
    h                         d dl Z d dlmZmZmZmZ d dlZddlmZm	Z	  ej
        d           G d d                      Z e            e_        dS )	    N)DictAnyClassVar	FrozenSet   )Color	AlignmentF)reprc                      e Zd ZU dZdZed          ed<   edee	         fd            Z
dZe	ed<   dZeed	<    ej        d
           Zeed<    ej        d           Zeed<    ej        d           Zeed<    ej        d           Zeed<    ej        d           Zeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   d Ze ed!<   d"Z!eed#<   d"Z"eed$<   e#j$        Z%e#ed%<   d&Z&e ed'<   d&Z'e ed(<   d&Z(e ed)<   d*Z)e ed+<   d Z*e ed,<   dZ+eed-<   d1d.Z,de-e	e.f         fd/Z/de	fd0Z0dS )2SSAStylea  
    A SubStation Style.

    In SubStation, each subtitle (:class:`SSAEvent`) is associated with a style which defines its font, color, etc.
    Like a subtitle event, a style also consists of "fields"; see :attr:`SSAStyle.FIELDS` for a list
    (note the spelling, which is different from SubStation proper).

    Subtitles and styles are connected via an :class:`SSAFile` they belong to. :attr:`SSAEvent.style` is a string
    which is (or should be) a key in the :attr:`SSAFile.styles` dict. Note that style name is stored separately;
    a given :class:`SSAStyle` instance has no particular name itself.

    This class defines equality (equality of all fields).

    NDEFAULT_STYLEreturnc                     t          j        dt                     t          d t	          j        |           D                       S )zAll fields in SSAStyle.z*Deprecated in 1.2.0 - it's a dataclass nowc              3   $   K   | ]}|j         V  d S )N)name).0fields     P/var/www/html/auto_sub_bot/venv/lib/python3.11/site-packages/pysubs2/ssastyle.py	<genexpr>z"SSAStyle.FIELDS.<locals>.<genexpr>   s$      JJJJJJJJ    )warningswarnDeprecationWarning	frozensetdataclassesfieldsselfs    r   FIELDSzSSAStyle.FIELDS   s@     	BDVWWWJJ1CD1I1IJJJJJJr   Arialfontnameg      4@fontsizec                  &    t          dddd          S N   r   r    r   r   <lambda>zSSAStyle.<lambda>!   s    E#sTWYZD[D[ r   )default_factoryprimarycolorc                  &    t          dddd          S r$   r&   r'   r   r   r(   zSSAStyle.<lambda>"   s    eCQRTUWXFYFY r   secondarycolorc                  &    t          dddd          S Nr   r&   r'   r   r   r(   zSSAStyle.<lambda>#   s    U1aQRTUEVEV r   tertiarycolorc                  &    t          dddd          S r.   r&   r'   r   r   r(   zSSAStyle.<lambda>$   s    E!QPQSTDUDU r   outlinecolorc                  &    t          dddd          S r.   r&   r'   r   r   r(   zSSAStyle.<lambda>%   s    q!QPQARAR r   	backcolorFbolditalic	underline	strikeoutg      Y@scalexscaleyg        spacingangler   borderstyleg       @outlineshadow	alignment
   marginlmarginrmarginvr   
alphalevelencodingdrawingc                 >    t          di |                                 S )Nr'   )r   as_dictr   s    r   copyzSSAStyle.copy>   s    ))$,,..)))r   c                 D      fdt          j                   D             S )Nc                 F    i | ]}|j         t          |j                   S r'   )r   getattr)r   r   r   s     r   
<dictcomp>z$SSAStyle.as_dict.<locals>.<dictcomp>C   s)    \\\%
GD%*55\\\r   )r   r   r   s   `r   rH   zSSAStyle.as_dictA   s)    \\\\;CUVZC[C[\\\\r   c                 V    d| j         d| j        rdnd | j        rdnd d| j        dS )Nz
<SSAStyle pxz bold z italic >)r"   r4   r5   r!   r   s    r   __repr__zSSAStyle.__repr__E   s[    &DM & &!Y.''B&#{2))& & =& & & 	&r   )r   r   )1__name__
__module____qualname____doc__r   r   __annotations__propertyr   strr   r!   r"   floatr   r   r*   r   r,   r/   r1   r3   r4   boolr5   r6   r7   r8   r9   r:   r;   r<   intr=   r>   r	   BOTTOM_CENTERr?   rA   rB   rC   rD   rE   rF   rI   r   r   rH   rS   r'   r   r   r   r      s          +/M8J'...K	# K K K XK
 HcHe+++<[<[\\\L%\\\-K->Y>YZZZNEZZZ,;,=V=VWWWM5WWW+++<U<UVVVL%VVV({(9R9RSSSIuSSSD$FDItItFEFEGUE5KGUFE$2Iy222GSGSGSJHc GT* * * *]c3h ] ] ] ]&# & & & & & &r   r   )r   typingr   r   r   r   r   commonr   r	   	dataclassr   r   r'   r   r   <module>rb      s     1 1 1 1 1 1 1 1 1 1 1 1     $ $ $ $ $ $ $ $E"""A& A& A& A& A& A& A& #"A&H "   r   