Ë
    o]j  ã                   óP   — d Z ddlmZmZmZ ddlmZmZ d„ Zd„ Z	d„ Z
d„ Zd	„ Zd
„ Zy)zDraw simple shapes.é    )Úatan2ÚpiÚsqrté   )Ú	normalizeÚpointc           	      óÂ  — | j                  |j                  d«      |«      }|sy|t        t        «      z  }| j	                  |j                  d«      |j                  d«      |«      \  }}| j
                  j                  ||z   |«       | j
                  j                  ||z   ||z   ||z   ||z   |||z   «       | j
                  j                  ||z
  ||z   ||z
  ||z   ||z
  |«       | j
                  j                  ||z
  ||z
  ||z
  ||z
  |||z
  «       | j
                  j                  ||z   ||z
  ||z   ||z
  ||z   |«       | j
                  j                  «        y)zDraw circle tag.ÚrNÚcxÚcy)	ÚlengthÚgetr   r   r   ÚstreamÚmove_toÚcurve_toÚclose)ÚsvgÚnodeÚ	font_sizer
   Úratior   r   s          úL/var/www/zogu/zoguvenv/lib/python3.12/site-packages/weasyprint/svg/shapes.pyÚcircler      s;  € à�
‰
�4—8‘8˜C“= )Ó,€AÙØØ””R“‰L€EØ�Y‰Y�t—x‘x “~ t§x¡x°£~°yÓA�F€Bˆà‡J�J×Ñ�r˜A‘v˜rÔ"Ø‡J�J×Ñ˜˜Q™  U¡
¨B°©J¸¸Q¹ÀÀBÈÁFÔKØ‡J�J×Ñ˜˜U™
 B¨¡F¨B°©F°B¸±JÀÀQÁÈÔKØ‡J�J×Ñ˜˜Q™  U¡
¨B°©J¸¸Q¹ÀÀBÈÁFÔKØ‡J�J×Ñ˜˜U™
 B¨¡F¨B°©F°B¸±JÀÀQÁÈÔKØ‡J�J×ÑÕó    c           	      ó  — | j                  |j                  d«      |j                  d«      |«      \  }}|r|sy|t        t        «      z  }|t        t        «      z  }| j                  |j                  d«      |j                  d«      |«      \  }}| j                  j                  ||z   |«       | j                  j                  ||z   ||z   ||z   ||z   |||z   «       | j                  j                  ||z
  ||z   ||z
  ||z   ||z
  |«       | j                  j                  ||z
  ||z
  ||z
  ||z
  |||z
  «       | j                  j                  ||z   ||z
  ||z   ||z
  ||z   |«       | j                  j                  «        y)zDraw ellipse tag.ÚrxÚryNr   r   )r   r   r   r   r   r   r   r   )	r   r   r   r   r   Úratio_xÚratio_yr   r   s	            r   Úellipser      sh  € à�Y‰Y�t—x‘x “~ t§x¡x°£~°yÓA�F€BˆÙ‘RØØ”4œ“8‰m€GØ”4œ“8‰m€GØ�Y‰Y�t—x‘x “~ t§x¡x°£~°yÓA�F€Bˆà‡J�J×Ñ�r˜B‘w Ô#Ø‡J�J×ÑØ
ˆR‰��g‘˜r G™|¨R°"©W°b¸"¸r¹'ôCà‡J�J×ÑØ
ˆW‰�b˜2‘g˜r B™w¨¨W©°b¸2±g¸rôCà‡J�J×ÑØ
ˆR‰��g‘˜r G™|¨R°"©W°b¸"¸r¹'ôCà‡J�J×ÑØ
ˆW‰�b˜2‘g˜r B™w¨¨W©°b¸2±g¸rôCà‡J�J×ÑÕr   c           	      óH  — | j                  |j                  d«      |j                  d«      |«      \  }}|dk  s|dk  ry| j                  |j                  d«      |j                  d«      |«      \  }}|j                  d«      }|j                  d«      }|r|€|}n|r|€|}| j                  |||«      \  }}|dk(  s|dk(  r| j                  j                  ||||«       y||d	z  kD  r|d	z  }||d	z  kD  r|d	z  }d
}	|	|z  |	|z  }}
| j                  j	                  ||z   |«       | j                  j                  ||z   |z
  |«       | j                  j                  ||z   |z
  |
z   |||z   ||z   ||z   ||z   «       | j                  j                  ||z   ||z   |z
  «       | j                  j                  ||z   ||z   |z
  |z   ||z   |
z   |z
  ||z   ||z   |z
  ||z   «       | j                  j                  ||z   ||z   «       | j                  j                  ||z   |
z
  ||z   |||z   |z
  |||z   |z
  «       | j                  j                  |||z   «       | j                  j                  |||z   |z
  ||z   |
z
  |||z   |«       | j                  j                  «        y)zDraw rect tag.ÚwidthÚheightr   NÚxÚyr   r   é   g#JSQ¬á?)r   r   r   Ú	rectangler   Úline_tor   r   )r   r   r   r!   r"   r#   r$   r   r   Úarc_to_bezierÚc1Úc2s               r   Úrectr+   -   s£  € à—I‘I˜dŸh™h wÓ/°·±¸(Ó1CÀYÓO�M€Eˆ6Ø�‚z�V˜q’[Øà�9‰9�T—X‘X˜c“] D§H¡H¨S£M°9Ó=�D€A€qà	�‰�$‹€BØ	�‰�$‹€BÙ	ˆbˆjØ‰Ù	��
ØˆØ�Y‰Y�r˜2˜yÓ)�F€Bˆà	ˆQ‚w�"˜’'Ø�
‰
×Ñ˜Q  5¨&Ô1Øà	ˆE�A‰I‚~Ø�Q‰YˆØ	ˆF�Q‰J‚Ø�a‰Zˆð *€MØ˜RÑ °Ñ!3ˆ€Bà‡J�J×Ñ�q˜2‘v˜qÔ!Ø‡J�J×Ñ�q˜5‘y 2‘~ qÔ)Ø‡J�J×ÑØ	ˆE‰	�B‰˜Ñ˜Q  E¡	¨1¨r©6°1°u±9¸aÀ"¹fôFà‡J�J×Ñ�q˜5‘y ! f¡*¨r¡/Ô2Ø‡J�J×ÑØ	ˆE‰	�1�v‘: ‘? RÑ'¨¨U©°R©¸"Ñ)<¸aÀ&¹jØ	ˆE‰	�B‰˜˜F™
ô$ð ‡J�J×Ñ�q˜2‘v˜q 6™zÔ*Ø‡J�J×ÑØ	ˆB‰�‰�Q˜‘Z  A¨¡J°¡O°Q¸¸F¹
ÀR¹ôIà‡J�J×Ñ�q˜!˜b™&Ô!Ø‡J�J×Ñ˜˜1˜r™6 B™;¨¨B©°©°Q¸¸B¹ÀÔBØ‡J�J×ÑÕr   c                 ó–  — | j                  |j                  d«      |j                  d«      |«      \  }}| j                  |j                  d«      |j                  d«      |«      \  }}| j                  j                  ||«       | j                  j	                  ||«       t        ||z
  ||z
  «      }||ft        |z
  |f||fg|_        y)zDraw line tag.Úx1Úy1Úx2Úy2N)r   r   r   r   r'   r   r   Úvertices)r   r   r   r-   r.   r/   r0   Úangles           r   Úliner3   [   s©   € à�Y‰Y�t—x‘x “~ t§x¡x°£~°yÓA�F€BˆØ�Y‰Y�t—x‘x “~ t§x¡x°£~°yÓA�F€BˆØ‡J�J×Ñ�r˜2ÔØ‡J�J×Ñ�r˜2ÔÜ�"�r‘'˜2 ™7Ó#€EØ˜"�X¤ U¡
¨EÐ2°R¸°HÐ=€D…Mr   c                 óR   — t        | ||«       | j                  j                  «        y)zDraw polygon tag.N)Úpolyliner   r   )r   r   r   s      r   Úpolygonr6   e   s   € äˆS�$˜	Ô"Ø‡J�J×ÑÕr   c                 óÀ  — t        |j                  d«      «      }|rÂt        | ||«      \  }}}| j                  j	                  ||«       ||fg|_        |rˆ||}}t        | ||«      \  }}}t        ||z
  ||z
  «      }|j
                  j                  t        |z
  |f«       | j                  j                  ||«       |j
                  j                  ||f«       |rŒ‡yyy)zDraw polyline tag.ÚpointsN)
r   r   r   r   r   r1   r   Úappendr   r'   )	r   r   r   r8   r#   r$   Úx_oldÚy_oldr2   s	            r   r5   r5   k   sÐ   € ä�t—x‘x Ó)Ó*€FÙÜ˜S &¨)Ó4‰ˆˆ1ˆfØ�
‰
×Ñ˜1˜aÔ Ø˜Q˜˜ˆŒÙØ˜a�5ˆEÜ   f¨iÓ8‰LˆAˆq�&Ü˜!˜e™) Q¨¡YÓ/ˆEØ�M‰M× Ñ ¤" u¡*¨eÐ!4Ô5Ø�J‰J×Ñ˜q !Ô$Ø�M‰M× Ñ  ! Q Ô(ô ð	 r   N)Ú__doc__Úmathr   r   r   Úutilsr   r   r   r   r+   r3   r6   r5   © r   r   ú<module>r@      s0   ðÙ ç  Ñ  ç #òò ò*+ò\>òó)r   