§
    ‡Ûg£  ã                   óš  — 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  edgd¬¦  «        d„ ¦   «         Z edgdd	¬
¦  «        d„ ¦   «         Z edg¦  «        d„ ¦   «         Z edg¦  «        d„ ¦   «         Zd„ Zd„ Z edgdd	¬¦  «        d„ ¦   «         Z edgddgd¬¦  «        d„ ¦   «         Z edgd¬¦  «        d„ ¦   «         ZdS )é    N)Úimage_comparison)ÚPathÚpatheffect1T)Úremove_textc                  óÄ  — t          j        ¦   «         } |                      ddgddgg¦  «         |                      dddt	          ddd¬	¦  «        d
dt          j        dd¬¦  «        g¬¦  «        }|j                             t          j	        dd¬¦  «        t          j
        ¦   «         g¦  «         t          j        dd¬¦  «        g}|                      dd|¬¦  «         d S )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      úW/granary/edev/quantum/lib/python3.11/site-packages/matplotlib/tests/test_patheffects.pyÚtest_patheffect1r.   
   s  € å
Œ+‰-Œ-€CØ‡J‚J��A�˜˜A˜ÐÑ Ô Ð Ø
�,Š,�v˜x¨Ý"&°$Ø7?ÀAð#Gñ #Gô #Gà 8Ý%1Ô%<ÀqØHKð&Mñ &Mô &Mð %Nð	 ñ Oô O€Cð „O×$Ò$¥lÔ&9ÀAØEHð'Jñ 'Jô 'Jå&2Ô&9Ñ&;Ô&;ð&=ñ >ô >ð >õ Ô
!¨A¸#Ð
>Ñ
>Ô
>Ð	?€BØ‡H‚HˆT˜S¨r€HÑ2Ô2Ð2Ð2Ð2ó    Úpatheffect2Úmpl20)r   Ústylec                  ó¼  — t          j        ¦   «         } t          j        d¦  «                             d¦  «        }|                      |d¬¦  «         |                      |d¬¦  «        }t          j        |j        t          j
        dd¬	¦  «        g¬
¦  «         |                      |dd¬¦  «        }t          j        |t          j
        dd¬	¦  «        g¬
¦  «         d S )Né   )r   r   Únearest)ÚinterpolationÚk©Úcolorsr
   r   r   ©r   z%2.0fT)ÚfmtÚuse_clabeltext)r   r    ÚnpÚarangeÚreshaper!   ÚcontourÚsetpÚcollectionsr   r$   Úclabel)Úax2ÚarrÚcntrÚclblss       r-   Útest_patheffect2rH      s  € õ Œ+‰-Œ-€CÝ
Œ)�B‰-Œ-×
Ò
 Ñ
'Ô
'€CØ‡J‚Jˆs )€JÑ,Ô,Ð,Ø�;Š;�s 3ˆ;Ñ'Ô'€Då„HˆTÔÝ'Ô2¸QØ>AðCñ Cô Cð DðEñ Eô Eð Eð �JŠJ�t ¸ˆJÑ>Ô>€EÝ„HˆUÝ'Ô2¸QØ>AðCñ Cô Cð DðEñ Eô Eð Eð Eð Er/   Úpatheffect3c            	      óv  — t          j        g d¢dd¬¦  «        \  } |                      t          j        ¦   «         t          j        ¦   «         g¦  «         t          j        dt          j        dd¬¦  «        g¬	¦  «         t          j        | gd
gdd¬¦  «        }|j	                             t          j
        ¦   «         g¦  «         t          j        dddddddœ¬¦  «        }t          j        dd¬¦  «        t          j
        dd¬¦  «        g}|                     |¦  «         |                     ¦   «                              |¦  «         t          j        ddd¬¦  «        t          j        ddd ¬!¦  «        g}t          j        ¦   «                              d"d#d$d%d&d'¬(¦  «        }|                     |¦  «         d S ))N)r   r
   r   é   r
   zo-brK   )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)rR   Úbboxg      @r7   )é   éýÿÿÿÚblue)Úshadow_rgbFace)rK   éüÿÿÿÚxxxxÚgray)ÚoffsetÚhatchÚ	facecolorÚblackgš™™™™™ñ?)Ú	edgecolorr]   r   g{®Gáz”?gš™™™™™¹?zHatch shadowéK   iè  r   )ÚfontsizeÚweightÚva)r   Úplotr&   r   ÚSimpleLineShadowr(   Útitler$   ÚlegendÚlegendPatchÚwithSimplePatchShadowÚtextr'   Úget_bbox_patchÚPathPatchEffectÚgcf)Úp1Úlegrj   r,   Úts        r-   Útest_patheffect3rq   .   sÜ  € å
Œ(�?�?�? E¨aÐ
0Ñ
0Ô
0�C€BØ×Ò�Ô6Ñ8Ô8Ý%Ô,Ñ.Ô.ð0ñ 1ô 1ð 1å„IØÝ"Ô-¸ÀcÐJÑJÔJÐKðMñ Mô Mð Mõ Œ*�b�T˜M˜?°T¸|Ð
LÑ
LÔ
L€CØ„O×$Ò$¥lÔ&HÑ&JÔ&JÐ%KÑLÔLÐLåŒ8�A�q˜+¨WØ&6ÀÐGÐGðIñ Iô I€Då
Ô
¨¸Ð
=Ñ
=Ô
=Ý
Ô
,¨WÀVÐ
LÑ
LÔ
Lð
N€Bà×Ò˜"ÑÔÐØ×ÒÑÔ×*Ò*¨2Ñ.Ô.Ð.å
Ô
&¨g¸VØ17ð9ñ 9ô 9å
Ô
&°ÀGØ*-ð/ñ /ô /ð
0€Bõ
 	Œ‰	Œ	�Š�t˜S .¸2ÀdØ"ð 	ñ 	$ô 	$€Aà×Ò�rÑÔÐÐÐr/   zstroked_text.pngc                  ó°  — g d¢} d}t          j        g d¢¦  «        }t          | ¦  «        D ]h\  }}|                     dd|dz  z
  |dd|d	d
œ¬¦  «        }|                     t          j        |dz  d¬¦  «        t          j        ¦   «         g¦  «         Œi|                     dd¦  «         | 	                    dd¦  «         | 
                    d¦  «         d S )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   )r   r   r   r   g{®Gáz„?gÍÌÌÌÌÌì?g¤p=
×£À?Úleftr   rO   )r   rc   r   rR   )ÚxÚyÚsÚfontdicté
   r^   r   r   r   Úoff)r   ÚaxesÚ	enumeraterj   r&   r   r'   r(   Úset_xlimÚset_ylimÚaxis)Útext_chunksÚ	font_sizeÚaxÚiÚchunkrj   s         r-   Útest_patheffects_stroked_textr…   J   s  € ðð ð €Kð €Iå	Œ�,�,�,Ñ	Ô	€BÝ˜kÑ*Ô*ð 7ð 7‰ˆˆ5Ø�wŠw˜ #¨¨D©¡.°UØ'-°XØ)2¸Wð!Fð !Fð ñ Gô Gˆð 	×Ò�|Ô2¸YÈ¹^Ø>Eð Gñ  Gô  Gå+Ô2Ñ4Ô4ð6ñ 	7ô 	7ð 	7ð 	7ð ‡K‚K��1ÑÔÐØ‡K‚K��1ÑÔÐØ‡G‚GˆE�N„N€N€N€Nr/   c                  óÄ  — t          j        d¬¦  «        } t          j        t          d¦  «        ¦  «        \  }|                     t          j        ¦   «         t          j        ¦   «         g¦  «         | j         	                    ¦   «         }t          j
        |                     ¦   «         |¦  «        }|                     d¦  «        |                     d¦  «        k    sJ ‚d S )Né–   )Údpiry   é   )r   Úfigurerd   Úranger&   r   re   r(   ÚcanvasÚget_rendererÚPathEffectRendererÚget_path_effectsÚpoints_to_pixels)Úfigrn   ÚrendererÚpe_renderers       r-   Ú test_PathEffect_points_to_pixelsr”   f   sÊ   € Ý
Œ*˜Ð
Ñ
Ô
€CÝ
Œ(•5˜‘9”9Ñ
Ô
�C€BØ×Ò�Ô6Ñ8Ô8Ý%Ô,Ñ.Ô.ð0ñ 1ô 1ð 1àŒz×&Ò&Ñ(Ô(€HÝÔ1Ø
×ÒÑÔ˜xñ)ô )€Kð ×$Ò$ RÑ(Ô(¨K×,HÒ,HÈÑ,LÔ,LÒLÐLÐLÐLÐLÐLr/   c                  óJ   — t          j        d¬¦  «        } | j        dk    sJ ‚d S )N)rK   r   )r[   )r   ÚSimplePatchShadowÚ_offset)r,   s    r-   Útest_SimplePatchShadow_offsetr˜   s   s.   € Ý	Ô	'¨vÐ	6Ñ	6Ô	6€BØŒ:˜ÒÐÐÐÐÐr/   Ú
collectiong¸…ëQ¸ž?)Útolr2   c                  óN  — t          j        t          j        ddd¦  «        t          j        ddd¦  «        ¦  «        \  } }t          j        | ¦  «        t          j        |¦  «        z   }t          j        |¦  «        }t          j        ddd	¬
¦  «        t          j	        d¬¦  «        g}|j
        D ]}|                     |¦  «         Œt          j        |d¬¦  «        D ]E}|                     t          j        dd¬¦  «        g¦  «         |                     ddddœ¦  «         ŒFd S )Nr   ry   r‡   éûÿÿÿr   éd   r^   Únoneé   )r_   r]   r   )r   rO   r8   r7   r
   )r   r   ÚsawtoothrV   )rQ   r]   r_   )r=   ÚmeshgridÚlinspaceÚsinÚcosr   r@   r   rl   r'   rB   r&   rC   r$   Úset_bbox)ru   rv   ÚdataÚcsr,   r™   rj   s          r-   Útest_collectionr¨   x   sK  € åŒ;•r”{ 1 b¨#Ñ.Ô.µ´¸BÀÀ3Ñ0GÔ0GÑHÔH�D€A€qÝŒ6�!‰9Œ9•r”v˜a‘y”yÑ €DÝ	Œ�TÑ	Ô	€BÝ
Ô
&°ÀFØ13ð5ñ 5ô 5å
Ô
¨Ð
*Ñ
*Ô
*ð
,€Bð ”nð (ð (ˆ
Ø×#Ò# BÑ'Ô'Ð'Ð'å”
˜2 gÐ.Ñ.Ô.ð -ð -ˆØ×Ò�|Ô6À#ØABð Dñ  Dô  Dð Eñ 	Fô 	Fð 	Fà�Š :¸FØ$*ð,ð ,ñ 	-ô 	-ð 	-ð 	-ð-ð -r/   ÚtickedstrokeÚpngg)\�Âõ(Ì?)r   Ú
extensionsrš   c            
      ó¨  — t          j        ddd¬¦  «        \  } \  }}}t          j        ¦   «         }t	          j        |ddt          j        ddd¬	¦  «        g¬
¦  «        }|                     |¦  «         | 	                    d¦  «         | 
                    dd¦  «         |                     dd¦  «         |                     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   }|                     ||dt          j        ¦   «         g¬¦  «         |                     ¦   «          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
  }|                     |||dgd ¬!¦  «        }t          j        |j        t          j        d¬"¦  «        g¬#¦  «         |                     |||dgd$¬!¦  «        }t          j        |j        t          j        d%d¬&¦  «        g¬#¦  «         |                     |||dgd'¬!¦  «        }t          j        |j        t          j        d¬(¦  «        g¬#¦  «         | 
                    dd¦  «         |                     dd¦  «         d S ))Nr   r
   )rŸ   rK   )Úfigsizerž   r	   i¦ÿÿÿry   )ÚangleÚspacingÚlength)r]   r   r   Úequaléþÿÿÿr   ú é   é‡   )r¯   r®   )Úlabelr   ée   r   r   g333333Ó?é   gš™™™™™Ù?éi   gü©ñÒMbP?g      @g      @rK   gš™™™™™é?rU   )r7   r8   )r®   r:   )rL   é<   )r®   r°   )Úb)r¯   )r   Úsubplotsr   Úunit_circleÚpatchesÚ	PathPatchr   ÚwithTickedStrokeÚ	add_patchr   r}   r~   rd   r=   r¢   r£   rg   r¡   r@   rA   rB   )r‘   r*   rD   Úax3ÚpathÚpatchÚnxru   rv   ÚnyÚxvecÚyvecÚx1Úx2Úg1Úg2Úg3Úcg1Úcg2Úcg3s                       r-   Útest_tickedstrokerÑ   ‹   s)  € õ œ<¨¨1°gÐ>Ñ>Ô>Ñ€C‰ˆ#ˆs�CÝÔÑÔ€DÝÔ˜d¨f¸ÝÔ%¨C¸Ø-.ð	0ñ 	0ô 	0ðJ1ð 2ñ 2ô 2€Eð ‡M‚M�%ÑÔÐØ‡H‚HˆWÑÔÐØ‡L‚L��QÑÔÐØ‡L‚L��QÑÔÐà‡H‚Hˆa�ˆV�a˜�V 3Ý'Ô8ÀØ?BðDñ Dô Dð Eð ñ Fô Fð Fð 
€BÝ
Œ�C˜˜bÑ!Ô!€AØ�bŒf�Q˜‘U‰mŒmÑ˜cÑ!€AØ‡H‚HˆQ�˜­LÔ,IÑ,KÔ,KÐ+L€HÑMÔMÐMà‡J‚J�L„L€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Ô
5€CÝ„HˆSŒ_Ý'Ô8¸sÐCÑCÔCÐDðFñ Fô Fð Fð �+Š+�b˜"˜b 1 #¨fˆ+Ñ
5Ô
5€CÝ„HˆSŒ_Ý'Ô8¸rÈ!ÐLÑLÔLÐMðOñ Oô Oð Oð �+Š+�b˜"˜b 1 #¨fˆ+Ñ
5Ô
5€CÝ„HˆSŒ_Ý'Ô8ÀÐCÑCÔCÐDðFñ Fô Fð Fð ‡L‚L��AÑÔÐØ‡L‚L��AÑÔÐÐÐr/   zspaces_and_newlines.pngc            
      óH  — t          j        ¦   «         } d}d}|                      dd|dddddi¬	¦  «        }|                      dd
|dddddi¬	¦  «        }|                     t	          j        ¦   «         g¦  «         |                     t	          j        ¦   «         g¦  «         d S )Nz	         z
Newline also causes problemsg      à?g      è?r   r   rR   Úsalmon)r   rc   r   rS   g      Ð?Úthistle)r   r    rj   r&   r   r(   )r‚   Ús1Ús2Útext1Útext2s        r-   Ú$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Ô1Ð2Ñ3Ô3Ð3Ø	×Ò�LÔ/Ñ1Ô1Ð2Ñ3Ô3Ð3Ð3Ð3r/   )Únumpyr=   Úmatplotlib.testing.decoratorsr   Úmatplotlib.pyplotÚpyplotr   Úmatplotlib.patheffectsÚpatheffectsr   Úmatplotlib.pathr   Úmatplotlib.patchesr¾   r.   rH   rq   r…   r”   r˜   r¨   rÑ   rÙ   © r/   r-   ú<module>rã      sì  ðØ Ð Ð Ð à :Ð :Ð :Ð :Ð :Ð :Ø Ð Ð Ð Ð Ð Ø -Ð -Ð -Ð -Ð -Ð -Ø  Ð  Ð  Ð  Ð  Ð  Ø $Ð $Ð $Ð $Ð $Ð $ð Ð�=�/¨tÐ4Ñ4Ô4ð3ð 3ñ 5Ô4ð3ð" Ð�=�/¨t¸7ÐCÑCÔCðEð Eñ DÔCðEð" Ð�=�/Ñ"Ô"ðð ñ #Ô"ðð6 ÐÐ%Ð&Ñ'Ô'ðð ñ (Ô'ðð6
Mð 
Mð 
Mð ð  ð  ð
 Ð�<�. d°'Ð:Ñ:Ô:ð-ð -ñ ;Ô:ð-ð$ Ð�>Ð"°À%ÀØðñ ô ð2ð 2ñô ð2ðj ÐÐ,Ð-¸4Ð@Ñ@Ô@ð	4ð 	4ñ AÔ@ð	4ð 	4ð 	4r/   