o
    g÷§is-  ã                   @   sÔ   d Z ddlZddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
 ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ G dd„ deƒZdS )u§  
In mathematics, an equation is a formula that expresses the equality of two expressions,
by connecting them with the equals sign =. The word equation and its cognates in other languages may have subtly
different meanings; for example, in French an Ã©quation is defined as containing one or more variables,
while in English, any well-formed formula consisting of two expressions related with an equals sign is an equation.
é    N)ÚDecimal)ÚColor)ÚHexColor)ÚFont)ÚParser)ÚToken)Ú	TokenType)Ú	Alignment)ÚLayoutElement)Ú
InlineFlow)ÚFlexibleColumnWidthTable)ÚTable)Ú	TableCell)ÚChunkOfText)Ú	Paragraphc                3       s<  e Zd ZdZddedƒdedƒedƒedƒedƒddedƒdedƒedƒejddddedƒedƒedƒedƒejfd	e	d
e
je dedededededededededede
jee	f dededede
je de
je de
je de
je dededed ed!ef2‡ fd"d#„Zed$ƒedƒfd%ededed&efd'd(„Z‡  ZS ))ÚEquationu»  
    In mathematics, an equation is a formula that expresses the equality of two expressions,
    by connecting them with the equals sign =. The word equation and its cognates in other languages may have subtly
    different meanings; for example, in French an Ã©quation is defined as containing one or more variables,
    while in English, any well-formed formula consisting of two expressions related with an equals sign is an equation.
    NFÚ000000r   é   Ú	Helveticaé   ÚtextÚbackground_colorÚborder_bottomÚborder_colorÚborder_leftÚborder_radius_bottom_leftÚborder_radius_bottom_rightÚborder_radius_top_leftÚborder_radius_top_rightÚborder_rightÚ
border_topÚborder_widthÚfontÚ
font_colorÚ	font_sizeÚhorizontal_alignmentÚmargin_bottomÚmargin_leftÚmargin_rightÚ
margin_topÚpadding_bottomÚpadding_leftÚpadding_rightÚpadding_topÚvertical_alignmentc                    s¾   t t| ƒ ¡  || _|| _|| _|| _|| _|| _|| _	|	| _
|
| _|| _|| _|| _|| _|| _|| _|| _|| _|| _|| _|| _|| _|| _|| _|| _|  | jt |¡||d¡ d S )N)r#   r$   )Úsuperr   Ú__init__Ú_background_colorÚ_border_bottomÚ_border_colorÚ_border_leftÚ_border_radius_bottom_leftÚ_border_radius_bottom_rightÚ_border_radius_top_leftÚ_border_radius_top_rightÚ_border_rightÚ_border_topÚ_border_widthÚ_fontÚ_font_colorÚ
_font_sizeÚ_horizontal_alignmentÚ_margin_bottomÚ_margin_leftÚ_margin_rightÚ_margin_topÚ_padding_bottomÚ_padding_leftÚ_padding_rightÚ_padding_topÚ_vertical_alignmentÚaddÚ_buildr   Úto_abstract_syntax_tree)Úselfr   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   ©Ú	__class__© ú\/home/ubuntu/.local/lib/python3.10/site-packages/borb/pdf/canvas/layout/equation/equation.pyr0   ,   s@   ýÿzEquation.__init__z#000000ÚtÚreturnc                 C   sæ  |  ¡ tjkrtd||dS |  ¡ tjkr{| ¡ dkr4| j| ¡ d ||d}tdƒ|_	d|_
d|_|S | j| ¡ d ||d}tj|_tddd	}| t| ¡ ||tjd
¡ | td||tjd
¡ | |¡ | td||tjd
¡ | ¡  |S |  ¡ tjkr‰td||dS |  ¡ tjkr™t| ¡ ||dS |  ¡ tjkrÑ| ¡ dkrÔ| ¡ dkrÔtddd	}| td||tjd
¡ | | j| ¡ d ||d¡ | ¡  |S | ¡ dkr"| j| ¡ d ||d}tj|_| j| ¡ d ||d}	tj|	_tddd	}
|
 t|	dddd|tdƒd¡ |
 t|ddddtdƒd¡ |
S | ¡ dkr~| j| ¡ d |tdƒ |d}tj|_| j| ¡ d ||d}tj|_tddd	}| td|tdƒ d¡ | |¡ | |¡ | tdƒ¡ | tdƒ¡ | ¡  |S | ¡ }|dkr‰d}| j| ¡ d ||d}tj|_| j| ¡ d ||d}tj|_tddd	}| |¡ | t|||tjtdƒtdƒd¡ | |¡ | ¡  |S |  ¡ tjkràtd||dS |  ¡ tjkrñt| ¡ ||dS J ‚)Nú,)r$   r#   Úabsr   g      è?Té   r   )Únumber_of_columnsÚnumber_of_rows)r$   r#   r.   ú(ú)ú-é   ú/F)r    r   r   r   r   r!   é   )r    r   r   r   r-   ú^g      à?ú )r$   Ú*õ   Â·)r$   r#   r.   r,   r+   )Úget_typer   ÚCOMMAr   ÚFUNCTIONÚget_textrJ   Úget_childrenr   r;   r4   r9   r	   ÚMIDDLErH   r   rI   Ú
no_bordersÚLEFT_PARENTHESISÚNUMBERÚOPERATORÚget_number_of_argumentsÚCENTEREDr?   r   ÚBOTTOMr   Úset_border_width_on_all_cellsÚRIGHT_PARENTHESISÚVARIABLE)rL   rQ   r#   r$   Úabs_elÚfun_elÚ	fun_tableÚun_min_tableÚdiv_el_0Údiv_el_1Ú	div_tableÚpow_el_0Úpow_el_1Ú	pow_tableÚop_textÚc0Úc1ÚoutrO   rO   rP   rJ   m   s6  ÿ
ÿÿüÿüÿ
üÿÿüÿÿÿÿÿÿùÿúÿ


ýÿÿ


ÿÿ
úÿ

zEquation._build)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r	   ÚLEFTÚTOPÚstrÚtypingÚOptionalr   ÚboolÚUnionr   r0   r   r
   rJ   Ú__classcell__rO   rO   rM   rP   r       s°    æþýüûúùø	÷
öõôóòñðïîíìëêéèçæDüþýüûr   )rƒ   r‡   Údecimalr   Úborb.pdf.canvas.color.colorr   r   Úborb.pdf.canvas.font.fontr   Ú&borb.pdf.canvas.layout.equation.parserr   Ú%borb.pdf.canvas.layout.equation.tokenr   r   Ú%borb.pdf.canvas.layout.layout_elementr	   r
   Ú.borb.pdf.canvas.layout.page_layout.inline_flowr   Ú8borb.pdf.canvas.layout.table.flexible_column_width_tabler   Ú"borb.pdf.canvas.layout.table.tabler   r   Ú)borb.pdf.canvas.layout.text.chunk_of_textr   Ú%borb.pdf.canvas.layout.text.paragraphr   r   rO   rO   rO   rP   Ú<module>   s$   