+
     ]i  c            	       sT   ^ RI t ^ RIt^ RIHt ^ RIHt ^ RIHt	 R t
]! R.]P                  ! 4       R8X  d   ^ MRR7      R 4       t]! R	.4      R
 4       tR t]! R.R]P                  ! 4       R8X  d   ^ MR]! ^dR7      R7      R 4       t]! R.R]P                  ! 4       R8X  d   ^ MR]! ^R7      R7      R 4       t]! R.RRR7      R 4       t]! R.RR]P                  ! 4       R8X  d   ^ MRR7      R 4       t]! R.RR]P                  ! 4       R8X  d   ^ MRR7      R 4       tR tR# )     N)image_comparisonc                 s\    V P                  R RRV,           3R^\        VRRR7      R7       R# )Z       ?Zbk)
arrowstylefcec)ZxyZxytextsizeZ
arrowpropsNr   r   )Zannotatedict)axtrs   &&&J/usr/lib64/python3.14/site-packages/matplotlib/tests/test_arrow_patches.py
draw_arrowr      s2    KKS1W~jr1#&30  1    zfancyarrow_test_image.pngZx86_64g~jt?)tolc            
      sd   . ROp RR\         P                  P                  4       .p\        P                  ! \        V4      \        V 4      RR	\        ^R7      R7      w  r#\        V 4       FB  w  rE\        V4       F.  w  rgW6V3,          p\        WV4       VP                  RRR7       K0  	  KD  	  R# )
皙?ZfancyZsimpleF)Zaspect)ZsqueezefigsizeZ
subplot_kw)Z	labelleftZlabelbottomN)r   333333?皙?皙?r    )   g      @)
mpatches
ArrowStyleZFancypltsubplotslenr	   	enumerater   Ztick_params)	r   r   figZaxsZi_rZr1Zi_tZt1r
   s	            r   test_fancyarrowr      s     	 A	(H//5578A||CFCFE$,QIHC Q< |GC#XBrr"NNUN> $  r   zboxarrow_test_image.pngc                  s   \         P                  P                  4       p \        V 4      pR pW,          R,           p\        P
                  ! R
VR,          3R7      pRp\        \        V 4      4       FN  w  rgVP                  RW,
          V,          R,
          V,          VRVVP                  \        VRRR7      R7       KP  	  R	# )g333333?r   g      ?r   ZcenterZwr   )Zboxstyler   r   )Zhar   Z	transformZbboxNgUUUUUU@g5@)r   ZBoxStyle
get_stylesr   r   figurer   sortedZtextZtransFigurer	   )stylesnZspacingZ	figheightr   Zfontsizei	stylenames           r   test_boxarrowr'      s     ))+FFAGr!I
**gy37
8CH!&.1(3.	99??I##>	 	 	@ 2r   c            
     s    \         P                  ! RR^2R7      p V P                  4       pVP                  ^ ^.4       VP	                  ^ ^.4       VP                  \        P                  ! RR^R^dR7      4       V # )z
Convenience function that prepares and returns a FancyArrowPatch. It aims
at being used to test that the size of the arrow head does not depend on
the DPI value of the exported picture.

NB: this function *is not* a test in itself!
Zfancyarrow_dpi_cor_test)r   dpi->)ZposAZposBZlwr   mutation_scale)i   i   )r   r   )皙?g333333?)r   r!   Zadd_subplotset_xlimset_ylim	add_patchr   FancyArrowPatch)Zfig2r
   s     r   !__prepare_fancyarrow_dpi_cor_testr0   4   sq     ::/RHD				BKKAKKALL))z
-.49<> ? Kr   zfancyarrow_dpi_cor_100dpi.pngTg{Gz?)r(   )remove_textr   Zsavefig_kwargc                     \        4        R# )z
Check the export of a FancyArrowPatch @ 100 DPI. FancyArrowPatch is
instantiated through a dedicated function because another similar test
checks a similar export but with a different DPI value.

Remark: test only a rasterized format.
Nr0    r   r   test_fancyarrow_dpi_cor_100dpir5   F   s
     &'r   zfancyarrow_dpi_cor_200dpi.pngc                 r2   )zs
As test_fancyarrow_dpi_cor_100dpi, but exports @ 200 DPI. The relative size
of the arrow head should be the same.
Nr3   r4   r   r   test_fancyarrow_dpi_cor_200dpir6   U   s
     &'r   zfancyarrow_dash.pngZdefault)r1   stylec                  s    \         P                  ! 4       w  r\        P                  ! R
RRRR^RRR7      p\        P                  ! R
RRRR^RRR7      pVP	                  V4       VP	                  V4       R	# )r    z-|>zangle3,angleA=0,angleB=90g      $@Zdashedr   )r   connectionstyler*   Z	linewidthZ	linestyleZcolorZangle3ZdottedN)r    r    r   )r   r   r   r/   r.   )r   r
   ZeZe2       r   test_fancyarrow_dashr:   a   sv    llnGC  ,11L04+,+3'*	,A 
	!	!&*-22:15,-,4(+
-B LLOLLr   zarrow_styles.pngZmpl20)r7   r1   r   c            	      sl   \         P                  P                  4       p \        V 4      p\        P
                  ! RR7      w  r#VP                  ^ ^4       VP                  RV4       VP                  ^ ^^ ^R7       \        \        V 4      4       F^  w  rE\         P                  ! RV^,          R,          ,           V3RV^,          R,          ,           V3V^R7      pVP                  V4       K`  	  \        . RO4       F  w  rETpV^ ,          R8w  d
   VR,          pVR,          R8w  d
   VR	,          p\        R^<.4       Fk  w  rVP                  R
\        V	4      4      p
\         P                  ! R^V,          V,           3R^V,          V,           3V
^R7      pVP                  V4       Km  	  K  	  R# )r   r   )ZleftZrightZbottomZtopr   g?g?)r   r*   Z-z,angleA=ANGLEz,angleB=ANGLEZANGLEg?g?N)r   r   )z]-[z]-z-[z|-|i)r   r   r    r   r   r   r,   r-   Zsubplots_adjustr   r"   r/   r.   ZreplaceZstr)r#   r$   r   r
   r%   r&   patchr7   ZjZangler   s              r   test_arrow_stylesr=   v   su      ++-FFAll6*GCKK1KKAQaq9!&.1((#Q*<a)@*.!a%*=q)A4=8:< 	U 2 ""<=Q<3_$ER=C_$E!3),HAwE
;J,,dAaC!G_sAaC!Gn8B<>@E LL - >r   zconnection_styles.pngg9v?c            	      sz   \         P                  P                  4       p \        V 4      p\        P
                  ! RR7      w  r#VP                  ^ ^4       VP                  R	V4       \        \        V 4      4       F<  w  rE\         P                  ! RV3RVR,           3RV^R7      pVP                  V4       K>  	  R# )
   r   r   r+   r   r)   )r   r8   r*   N)r>   i
   r;   )r   ConnectionStyler    r   r   r   r,   r-   r   r"   r/   r.   )r#   r$   r   r
   r%   r&   r<   s          r   test_connection_stylesr@      s     %%002FFAll7+GCKK1KKA!&.1((#qCS>489B8:< 	U 2r   c                  s   \         P                  P                  ^^R7      p \         P                  ! RRV R7      p\        P
                  ! \        4      ;_uu_ 4        \        P                  ! 4       P                  V4       RRR4       \         P                  P                  ^RR7      p\         P                  ! RRVR7      p\        P                  ! 4       P                  V4       R#   + '       g   i     Lp; i)i   )ZangleAZangleB)r8   Ngh@)r   r   r   )
r   r?   ZAngle3r/   pytestZraisesZ
ValueErrorr   Zgcar.   )Zconn_style_1Zp1Zconn_style_2Zp2r9   r   test_invalid_intersectionrB      s    ++22"S2IL		!	!(H2>
@B	z	"	"	B 
# ++22"U2KL		!	!(H2>
@BGGI 
#	"s   %C**C:	)rA   ZplatformZmatplotlib.pyplotZpyplotr   Zmatplotlib.testing.decoratorsr   Zmatplotlib.patchesZpatchesr   r   Zmachiner   r'   r0   r	   r5   r6   r:   r=   r@   rB   r4   r   r   <module>rC      s      : %1 ./#++-9auF?F? ,-.@ /@($ 23#++-9at $/	(/	( 23#++-9at $/(/( ()t9M N( %&g4#++-9atE E > *+7#++-9auFF 
r   