
    h                         S SK Jr  S SKrS SKJrJrJrJr   S SKJr  SSKJr   " S S\5      rg! \	 a	    S SK
Jr   N f = f)	    )FontN)ListCallableTupleOptional)Literal   )ThemeManagerc                      ^  \ rS rSrSr      SS\\   S\\   S\S   S\S   S	\	S
\	4U 4S jjjr
S\4S jrS\4S jrS\S\\\\4   4S jrS rU 4S jrS\S\4U 4S jjrSS jrSrU =r$ )CTkFont   a
  
Font object with size in pixel, independent of scaling.
To get scaled tuple representation use create_scaled_tuple() method.

family      The font family name as a string.
size        The font height as an integer in pixel.
weight      'bold' for boldface, 'normal' for regular weight.
slant       'italic' for italic, 'roman' for unslanted.
underline   1 for underlined text, 0 for normal.
overstrike  1 for overstruck text, 0 for normal.

Tkinter Font: https://anzeljg.github.io/rin2/book2/2405/docs/tkinter/fonts.html
familysizeweight)normalboldslant)italicroman	underline
overstrikec           	        > / U l         Uc  [        R                  S   S   OUU l        [        TU ]  Uc  [        R                  S   S   OU[        U R                  5      * Uc  [        R                  S   S   OUUUUS9  [        TU ]  S5      U l        [        TU ]  S5       SU SU(       a  SOS SU(       a  S	OS 3U l	        g )
Nr   r   r   r   )r   r   r   r   r   r    r    r   )
_size_configure_callback_listr
   theme_sizesuper__init__abscget_family_tuple_style_string)selfr   r   r   r   r   r   	__class__s          e/var/www/fran/franai/venv/lib/python3.13/site-packages/customtkinter/windows/widgets/font/ctk_font.pyr   CTkFont.__init__   s     >@*>Bl\''	26:PT
6> 2 29 =h G_e"4::.KQ> 2 29 =h G_e$#,$. 	 	0 w|H-&+gl8&<%=QugQV_{egFhhi  {Ejv  KM  jN  $O     callbackc                 :    U R                   R                  U5        g)z8add function, that gets called when font got configured N)r   appendr$   r)   s     r&   add_size_configure_callback#CTkFont.add_size_configure_callback1   s    **11(;r(   c                 \     U R                   R                  U5        g! [         a     gf = f)z;remove function, that gets called when font got configured N)r   remove
ValueErrorr,   s     r&   remove_size_configure_callback&CTkFont.remove_size_configure_callback5   s-    	..55h? 		s    
++font_scalingreturnc                 t    U R                   [        [        U R                  5      * U-  5      U R                  4$ )z[return scaled tuple representation of font in the form (family: str, size: int, style: str))r"   roundr    r   r#   )r$   r4   s     r&   create_scaled_tupleCTkFont.create_scaled_tuple<   s.    ||UC

O#3l#BCTE]E]]]r(   c                     [        S5      e)Nz]'config' is not implemented for CTk widgets. For consistency, always use 'configure' instead.)AttributeError)r$   argskwargss      r&   configCTkFont.config@   s    |}}r(   c           	        > SU;   a7  UR                  S5      U l        [        TU ]  [	        U R                  5      * S9  SU;   a0  [        TU ]  UR                  S5      S9  [        TU ]  S5      U l        [        TU ]  " S0 UD6  [        TU ]  S5       S[        TU ]  S5       S[        TU ]  S5      (       a  SOS	 S[        TU ]  S
5      (       a  S
OS	 3U l        U R                   H
  nU" 5         M     g )Nr   )r   r   )r   r   r   r   r   r   r    )	popr   r   	configurer    r!   r"   r#   r   )r$   r=   r)   r%   s      r&   rC   CTkFont.configureC   s&   VF+DJGC

O#34vGVZZ%9: 7<1DL#F# ',gl8&<%=Quw|G?T>UUVfkfmfrs~ffWb  FH  WI  IJ  [`  [b  [g  ht  [u  [u  KW  {}  J~  $  ::HJ ;r(   attribute_namec                 j   > US:X  a  U R                   $ US:X  a  U R                  $ [        TU ]  U5      $ )Nr   r   )r   r"   r   r!   )r$   rE   r%   s     r&   r!   CTkFont.cgetU   s6    V#::X%<<7<//r(   c                 .    [         R                  " U 5      $ )N)copydeepcopy)r$   s    r&   rI   CTkFont.copy]   s    }}T""r(   )r"   r   r   r#   )NNNr   FF)r5   r   )__name__
__module____qualname____firstlineno____doc__r   strintr   boolr   r   r-   r2   floatr   r8   r>   rC   anyr!   rI   __static_attributes____classcell__)r%   s   @r&   r   r      s     *.'+595<#($)O!#O}O !!12O   12	O
 !O "O O,<H <x ^ ^%S#:N ^~$03 03 0# #r(   r   )tkinter.fontr   rI   typingr   r   r   r   r   ImportErrortyping_extensionsr   r
   r   rA   r(   r&   <module>r\      s@      2 2* !R#d R#  *)*s   0 ??