
    ,g                     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          m/home/viktor/gitlab-persoonlijk/factuur-applicatie/venv/lib/python3.12/site-packages/weasyprint/svg/shapes.pycircler      s;   

488C=),ARLEYYtxx~txx~yAFBJJrAvr"JJQU
BJQBFKJJU
BFBFBJQKJJQU
BJQBFKJJU
BFBFBJQKJJ    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   YYtxx~txx~yAFBR48mG48mGYYtxx~txx~yAFBJJrBw#JJ
RgrG|R"Wb"r'CJJ
Wb2grBwWb2grCJJ
RgrG|R"Wb"r'CJJ
Wb2grBwWb2grCJJ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   IIdhhw/(1CYOME6zVq[99TXXc]DHHSM9=DAq	$B	$B	bj	
YYr2y)FB	Qw"'

Q5&1	EAI~QY	FQJaZ *MR!3BJJq2vq!JJq5y2~q)JJ	E	BQE	1r61u9a"fFJJq5y!f*r/2JJ	E	1v:?R'UR")<a&j	E	BF
$ JJq2vq6z*JJ	BQZAJOQF
RIJJq!b&!JJ1r6B;BQBBJJ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    YYtxx~txx~yAFBYYtxx~txx~yAFBJJr2JJr2"r'27#E"XU
E2RH=DMr   c                 R    t        | ||       | j                  j                          y)zDraw polygon tag.N)polyliner   r   )r   r   r   s      r   polygonr6   e   s    S$	"JJr   c                    t        |j                  d            }|rt        | ||      \  }}}| 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    txx)*FS&)41f

1a Qa5E fi8LAq&!e)QY/EMM  "u*e!45JJq!$MM  !Q( 	 r   N)__doc__mathr   r   r   utilsr   r   r   r   r+   r3   r6   r5    r   r   <module>r@      s0         # *+\>)r   