Ë
    íÍ:j’!  ã                   óØ  — d dl Z d dlZd dlmZ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  edgdd¬	«      d
„ «       Z edgdde j(                  dk(  rdnd ¬«      d„ «       Z edgde j(                  dk(  rdnd ¬«      d„ «       Z edgd¬«      d„ «       Zd„ Zd„ Z edgdd¬«      d„ «       Z edgdd¬	«      d„ «       Z edgdd¬	«      d „ «       Zd!„ Z e«       d"„ «       Zy)#é    N)Úimage_comparisonÚcheck_figures_equal)ÚPath)ÚRendererBase)ÚPathEffectRendererÚpatheffect1TÚmpl20)Úremove_textÚstylec                  ó®  — t        j                  «       } | j                  ddgddgg«       | j                  dddt	        ddd¬	«      d
dt        j                  dd¬«      g¬«      }|j                  j                  t        j                  dd¬«      t        j                  «       g«       t        j                  dd¬«      g}| j                  dd|¬«       y )Né   é   é   Útest)ç      ð?r   )ç        r   z->Úangle3)Ú
arrowstyleÚconnectionstyleÚlwé   ÚcenterÚw©Ú	linewidthÚ
foreground)Ú
arrowpropsÚsizeÚhaÚpath_effectsé   Tú-)Ú	linestyler    )ÚpltÚsubplotÚimshowÚannotateÚdictr    Ú
withStrokeÚarrow_patchÚset_path_effectsÚStrokeÚNormalÚgrid)Úax1ÚtxtÚpes      úv/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/matplotlib/tests/test_patheffects.pyÚtest_patheffect1r3      sÐ   € ä
�+‰+‹-€CØ‡J�J��A�˜˜A˜ÐÔ Ø
�,‰,�v˜x¨Ü"&°$Ø7?ÀAô#Gà 8Ü%1×%<Ñ%<ÀqØHKô&Mð %Nð	 ó O€Cð ‡O�O×$Ñ$¤l×&9Ñ&9ÀAØEHô'Jä&2×&9Ñ&9Ó&;ð&=ô >ô ×
!Ñ
!¨A¸#Ô
>Ð	?€BØ‡H�HˆT˜S¨r€HÕ2ó    Úpatheffect2Údarwingé&1¬ª?)r
   r   Útolc                  ó’  — t        j                  «       } t        j                  d«      j	                  d«      }| j                  |d¬«       | j                  |d¬«      }|j                  t        j                  dd¬	«      g¬
«       | j                  |dd¬«      }t        j                  |t        j                  dd¬	«      g¬
«       y )Né   )r!   r!   Únearest)ÚinterpolationÚk©Úcolorsr   r   r   ©r    z%2.0fT)ÚfmtÚuse_clabeltext)r$   r%   ÚnpÚarangeÚreshaper&   ÚcontourÚsetr    r)   ÚclabelÚsetp)Úax2ÚarrÚcntrÚclblss       r2   Útest_patheffect2rM       s¤   € ô �+‰+‹-€CÜ
�)‰)�B‹-×
Ñ
 Ó
'€CØ‡J�Jˆs )€JÔ,Ø�;‰;�s 3ˆ;Ó'€DØ‡H�Hœ<×2Ñ2¸QÈ3ÔOÐP€HÔQà�J‰J�t ¸ˆJÓ>€EÜ‡H�HˆUÜ'×2Ñ2¸QØ>AôCð DöEr4   Úpatheffect3ç{®Gáz”?)r   r7   c            	      óŒ  — t        j                  d¬«       t        j                  g d¢dd¬«      \  } | j                  t	        j
                  «       t	        j                  «       g«       t        j                  dt	        j                  dd	¬
«      g¬«       t        j                  | gdgdd¬«      }|j                  j                  t	        j                  «       g«       t        j                  dddddddœ¬«      }t	        j                  dd¬
«      t	        j                  dd¬«      g}|j                  |«       |j                  «       j                  |«       t	        j                  ddd¬ «      t	        j                  dd!d"¬#«      g}t        j                   «       j                  d$d%d&d'd(d)¬*«      }|j                  |«       y )+N©é   é   ©Úfigsize)r   r   r!   é   r   zo-brV   )r   ztesting$^{123}$r   Úrr   r?   z
Line 1$^2$Tz
upper left)ÚfancyboxÚlocr   r   z	Drop testÚwhitezcircle,pad=0.1Úred)ÚboxstyleÚcolor)r]   Úbboxg      @r<   )rS   éýÿÿÿÚblue)Úshadow_rgbFace)rV   éüÿÿÿÚxxxxÚgray)ÚoffsetÚhatchÚ	facecolorÚblackgš™™™™™ñ?)Ú	edgecolorrg   r   rO   gš™™™™™¹?zHatch shadowéK   iè  r   )ÚfontsizeÚweightÚva)r$   ÚfigureÚplotr+   r    ÚSimpleLineShadowr-   Útitler)   ÚlegendÚlegendPatchÚwithSimplePatchShadowÚtextr,   Úget_bbox_patchÚPathPatchEffectÚgcf)Úp1Úlegru   r1   Úts        r2   Útest_patheffect3r|   0   s|  € ô ‡J�J�vÕÜ
�(‰(’? E¨aÔ
0�C€BØ×Ñœ×6Ñ6Ó8Ü%×,Ñ,Ó.ð0ô 1ä‡I�IØÜ"×-Ñ-¸ÀcÔJÐKõMô �*‰*�b�T˜M˜?°T¸|Ô
L€CØ‡O�O×$Ñ$¤l×&HÑ&HÓ&JÐ%KÔLä�8‰8�A�q˜+¨WØ&6ÀÑGôI€Dä
×
Ñ
¨¸Ô
=Ü
×
,Ñ
,¨WÀVÔ
Lð
N€Bà×Ñ˜"ÔØ×ÑÓ×*Ñ*¨2Ô.ä
×
&Ñ
&¨g¸VØ17ô9ä
×
&Ñ
&°ÀGØ*-ô/ð
0€Bô
 	�‰‹	�‰�t˜S .¸2ÀdØ"ð 	ó 	$€Aà×Ñ�rÕr4   zstroked_text.png)r   c                  ó¤  — g d¢} d}t        j                  d¬«      j                  d«      }t        | «      D ]b  \  }}|j	                  dd|dz  z
  |d	d
|ddœ¬«      }|j                  t        j                  |dz  d¬«      t        j                  «       g«       Œd |j                  dd«       |j                  dd«       |j                  d«       y )N)zA B C D E F G H I J K LzM N O P Q R S T U V WzX Y Z a b c d e f g h i jzk l m n o p q r s t u vzw x y z 0123456789z!@#$%^&*()-=_+[]\;'z,./{}|:"<>?é2   rQ   rT   )r   r   r   r   g{®Gáz„?gÍÌÌÌÌÌì?g¤p=
×£À?Úleftr   rZ   )r   rm   r   r]   )ÚxÚyÚsÚfontdicté
   rh   r   r   r   Úoff)r$   rn   Úadd_axesÚ	enumerateru   r+   r    r,   r-   Úset_xlimÚset_ylimÚaxis)Útext_chunksÚ	font_sizeÚaxÚiÚchunkru   s         r2   Útest_patheffects_stroked_textr�   N   sÔ   € ò€Kð €Iä	�‰˜FÔ	#×	,Ñ	,¨\Ó	:€BÜ˜kÓ*ò 7‰ˆˆ5Ø�w‰w˜ #¨¨D©¡.°UØ'-°XØ)2¸Wñ!Fð ó Gˆð 	×Ñœ|×2Ñ2¸YÈ¹^Ø>Eô Gä+×2Ñ2Ó4ð6õ 	7ð7ð ‡K�K��1ÔØ‡K�K��1ÔØ‡G�GˆE…Nr4   c                  ó¤  — t        j                  d¬«      } t        j                  t        d«      «      \  }|j	                  t        j                  «       t        j                  «       g«       | j                  j                  «       }t        j                  |j                  «       |«      }|j                  d«      |j                  d«      k(  sJ ‚y )Né–   )Údpir„   é   )r$   rn   ro   Úranger+   r    rp   r-   ÚcanvasÚget_rendererr   Úget_path_effectsÚpoints_to_pixels)Úfigry   ÚrendererÚpe_renderers       r2   Ú test_PathEffect_points_to_pixelsr�   j   s¤   € Ü
�*‰*˜Ô
€CÜ
�(‰(”5˜“9Ó
�C€BØ×Ñœ×6Ñ6Ó8Ü%×,Ñ,Ó.ð0ô 1à�z‰z×&Ñ&Ó(€HÜ×1Ñ1Ø
×ÑÓ˜xó)€Kð ×$Ñ$ RÓ(¨K×,HÑ,HÈÓ,LÒLÐLÑLr4   c                  óR   — t        j                  d¬«      } | j                  dk(  sJ ‚y )N)rV   r!   )re   )r    ÚSimplePatchShadowÚ_offset)r1   s    r2   Útest_SimplePatchShadow_offsetr¡   w   s$   € Ü	×	'Ñ	'¨vÔ	6€BØ�:‰:˜ÒÐÑr4   Ú
collectiongü©ñÒMb ?)r7   r   c                  ó6  — t        j                  t        j                  ddd«      t        j                  ddd«      «      \  } }t        j                  | «      t        j                  |«      z   }t        j                  |«      }|j                  t        j                  ddd	¬
«      t        j                  d¬«      g¬«       t        j                  |d¬«      D ]>  }|j                  t        j                  dd¬«      g«       |j                  ddddœ«       Œ@ y )Nr   r„   r’   éûÿÿÿr!   éd   rh   Únoneé   )ri   rg   r   )r   r?   rZ   r=   r<   r   )r   r   Úsawtoothr`   )r\   rg   ri   )rB   ÚmeshgridÚlinspaceÚsinÚcosr$   rE   rF   r    rw   r,   rG   r+   r)   Úset_bbox)r€   r�   ÚdataÚcsru   s        r2   Útest_collectionr°   |   sè   € ä�;‰;”r—{‘{ 1 b¨#Ó.´·±¸BÀÀ3Ó0GÓH�D€A€qÜ�6‰6�!‹9”r—v‘v˜a“yÑ €DÜ	�‰�TÓ	€BØ‡F�FÜ×$Ñ$¨wÀ&ÐTVÔWÜ×Ñ aÔ(ð*€Fô +ô —
‘
˜2 gÔ.ò -ˆØ×Ñœ|×6Ñ6À#ØABô Dð Eô 	Fà�‰ :¸FØ$*ñ,õ 	-ñ-r4   ztickedstroke.pngc           
      ó,  — t        j                  ddd¬«      \  }\  }}}t        j                  «       }t	        j
                  |ddt        j                  ddd¬	«      g¬
«      }|j                  |«       |j                  d«       |j                  dd«       |j                  dd«       |j                  ddgddgdt        j                  dd¬«      g¬«       d}t        j                  dd|«      }dt        j                  |dz  «      z  dz   }	|j                  ||	dt        j                  «       g¬«       |j!                  «        d}d}
t        j                  dd|«      }t        j                  dd|
«      }t        j"                  ||«      \  }}d|z  |z   dz
   }|d|z  z   dz
   }d|d z  z   |z
  }|j%                  |||dgd!¬"«      }|j'                  t        j                  d¬#«      g¬$«       |j%                  |||dgd%¬"«      }|j'                  t        j                  d&d¬'«      g¬$«       |j%                  |||dgd(¬"«      }|j'                  t        j                  d¬)«      g¬$«       |j                  dd«       |j                  dd«       y )*Nr   r   )r§   rV   rT   r¦   r   i¦ÿÿÿr„   )ÚangleÚspacingÚlength)rg   r   r    Úequaléþÿÿÿr   ÚC0é   é‡   )r³   r²   )Úlabelr    ée   r   r   ç333333Ó?rR   gš™™™™™Ù?ÚC1éi   gü©ñÒMbP?g      @g      @rV   gš™™™™™é?r_   )r<   r=   )r²   r?   )rW   é<   )r²   r´   )Úb)r³   )r$   Úsubplotsr   Úunit_circleÚpatchesÚ	PathPatchr    ÚwithTickedStrokeÚ	add_patchrŠ   rˆ   r‰   ro   rB   rª   r«   rr   r©   rE   rF   )Útext_placeholdersrš   r/   rI   Úax3ÚpathÚpatchÚnxr€   r�   ÚnyÚxvecÚyvecÚx1Úx2Úg1Úg2Úg3Úcg1Úcg2Úcg3s                        r2   Útest_tickedstroker×   ‹   sn  € äŸ<™<¨¨1°gÔ>Ñ€C‰ˆ#ˆs�CÜ×ÑÓ€DÜ×Ñ˜d¨f¸Ü×%Ñ%¨C¸Ø-.ô	0ðJ1ô 2€Eð ‡M�M�%ÔØ‡H�HˆWÔØ‡L�L��QÔØ‡L�L��QÔà‡H�Hˆa�ˆV�a˜�V 4Ü'×8Ñ8ÀØ?BôDð Eð ô Fð 
€BÜ
�‰�C˜˜bÓ!€AØŒb�f‰f�Q˜‘U‹mÑ˜cÑ!€AØ‡H�HˆQ�˜¬\×-JÑ-JÓ-LÐ,M€HÔNà‡J�J„Là	€BØ	€Bô �;‰;�u˜c 2Ó&€DÜ�;‰;�u˜c 2Ó&€Dô �[‰[˜˜tÓ$�F€Bˆð ˆr‰6�B‰;˜ÑÐ	€BØ��B‘‰;˜‰?Ð	€BØ	ˆb�B‰h‰˜Ñ	€Bà
�+‰+�b˜"˜b 1 #¨fˆ+Ó
5€CØ‡G�Gœ,×7Ñ7¸cÔBÐC€GÔDà
�+‰+�b˜"˜b 1 #¨fˆ+Ó
5€CØ‡G�Gœ,×7Ñ7¸bÈÔKÐL€GÔMà
�+‰+�b˜"˜b 1 #¨fˆ+Ó
5€CØ‡G�Gœ,×7Ñ7ÀÔBÐC€GÔDà‡L�L��AÔØ‡L�L��AÕr4   zspaces_and_newlines.pngc            
      ó,  — t        j                  «       } d}d}| j                  dd|dddddi¬	«      }| j                  dd
|dddddi¬	«      }|j                  t	        j
                  «       g«       |j                  t	        j
                  «       g«       y )Nz	         z
Newline also causes problemsg      à?g      è?r   r   r]   Úsalmon)r   rm   r   r^   g      Ð?Úthistle)r$   r%   ru   r+   r    r-   )r�   Ús1Ús2Útext1Útext2s        r2   Ú$test_patheffects_spaces_and_newlinesrß   ¾   s™   € ä	�‰‹€BØ	€BØ	)€BØ�G‰G�C˜˜r h°8À"Ø! 8Ð,ð ó .€Eà�G‰G�C˜˜r h°8À"Ø! 9Ð-ð ó /€Eà	×ÑœL×/Ñ/Ó1Ð2Ô3Ø	×ÑœL×/Ñ/Ó1Ð2Õ3r4   c                  óÂ   —  G d„ dt         «      } t        t        j                  «       g | «       «      }|j	                  d«      dk(  sJ ‚|j                  d«      dk(  sJ ‚y )Nc                   ó,   ‡ — e Zd Zˆ fd„Zdd„Zd„ Zˆ xZS )úLtest_patheffects_overridden_methods_open_close_group.<locals>.CustomRendererc                 ó"   •— t         ‰| �  «        y ©N)ÚsuperÚ__init__)ÚselfÚ	__class__s    €r2   ræ   zUtest_patheffects_overridden_methods_open_close_group.<locals>.CustomRenderer.__init__Í   s   ø€ Ü‰GÑÕr4   c                  ó   — y)Núopen_group overridden© )rç   r‚   Úgids      r2   Ú
open_groupzWtest_patheffects_overridden_methods_open_close_group.<locals>.CustomRenderer.open_groupÐ   s   € Ø*r4   c                  ó   — y)Núclose_group overriddenrë   )rç   r‚   s     r2   Úclose_groupzXtest_patheffects_overridden_methods_open_close_group.<locals>.CustomRenderer.close_groupÓ   s   € Ø+r4   rä   )Ú__name__Ú
__module__Ú__qualname__ræ   rí   rð   Ú__classcell__)rè   s   @r2   ÚCustomRendererrâ   Ì   s   ø„ ô	ó	+ö	,r4   rõ   r‚   rê   rï   )r   r   r    r-   rí   rð   )rõ   r›   s     r2   Ú4test_patheffects_overridden_methods_open_close_grouprö   Ë   s_   € ô,œô ,ô "¤<×#6Ñ#6Ó#8Ð"9¹>Ó;KÓL€Hà×Ñ˜sÓ#Ð'>Ò>Ð>Ð>Ø×Ñ Ó$Ð(@Ò@Ð@Ñ@r4   c           	      ó*  — |j                  «       }| j                  «       }t        j                  ddd«      }t        j                  |dz   «      }|j	                  ||dt        j                  dd¬«      g¬«      \  }|j	                  ||ddd	¬
«       y )Nr¤   r!   iô  r   )r   r   r`   )re   Úshadow_color)r   r    r¼   )r   r]   Úalpha)Úadd_subplotrB   rª   Úexpro   r    rp   )Úfig_testÚfig_refÚax_refÚax_testr€   r�   Úlines          r2   Útest_simple_line_shadowr  Ü   sŽ   € à× Ñ Ó"€FØ×"Ñ"Ó$€Gä
�‰�B˜˜3Ó€AÜ
�‰��1‘ˆu‹€Aà�L‰LØ	ˆ1˜ä×)Ñ)°ÀfÔMðOð ó P�E€Dð
 ‡K�K��1 ¨°s€KÕ;r4   )ÚsysÚnumpyrB   Úmatplotlib.testing.decoratorsr   r   Úmatplotlib.pyplotÚpyplotr$   Úmatplotlib.patheffectsÚpatheffectsr    Úmatplotlib.pathr   Úmatplotlib.patchesrÃ   Úmatplotlib.backend_basesr   r   r3   ÚplatformrM   r|   r�   r�   r¡   r°   r×   rß   rö   r  rë   r4   r2   ú<module>r     sO  ðÛ 
ã ç OÝ Ý -Ý  Ý $Ý 1Ý 5ñ �=�/¨t¸7ÔCñ3ó Dð3ñ" �=�/¨t¸7Ø"Ÿ|™|¨xÒ7‘e¸Qô@ñEó@ðEñ �=�/¨Ø!Ÿl™l¨hÒ6‘d¸Aô?ñó?ðñ8 Ð%Ð&¨gÔ6ñó 7ðò6
Mò ñ
 �<�. e°7Ô;ñ-ó <ð-ñ Ð%Ð&°DÀÔHñ/ó Ið/ñd Ð,Ð-¸4ÀwÔOñ	4ó Pð	4òAñ" Óñ<ó ñ<r4   