U
    \	a<                     @   sH  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Zdd Zejddd	d
dddddejdd gdd ggedd gdd gged d gdd ggejejgdddddde edgdd Zejddedd dddggdddgdd  ZG d!d" d"ejZe
 d#d$ Zd%d& Ze
d'd(d)d* Ze
 d+d, ZdS )-    N)markers)Path)check_figures_equalc                  C   s.   t jddd} |  dkst|  r*td S )Nonone)marker	fillstyle)r   MarkerStyleZget_fillstyleAssertionErrorZ	is_filled)Zmarker_style r   @/tmp/pip-unpacked-wheel-wjyw_3jo/matplotlib/tests/test_marker.pytest_marker_fillstyle
   s    r   r   r   x Nonez$\frac{1}{2}$u   $♫$      r   )   r   )r      )r   r   
   )r   r   r   )r   r   r   c                 C   s   t |  d S N)r   r	   r   r   r   r   test_markers_valid   s    r   Zsquare      r      )r   )r   r   )r   r   r      c              	   C   s$   t t t|  W 5 Q R X d S r   )pytestZraises
ValueErrorr   r	   r   r   r   r   test_markers_invalid+   s    r    c                       s    e Zd ZdZ fddZ  ZS )UnsnappedMarkerStylez
    A MarkerStyle where the snap threshold is force-disabled.

    This is used to compare to polygon/star/asterisk markers which do not have
    any snap threshold set.
    c                    s   t    d | _d S r   )super_recacheZ_snap_threshold)self	__class__r   r   r#   >   s    
zUnsnappedMarkerStyle._recache)__name__
__module____qualname____doc__r#   __classcell__r   r   r%   r   r!   7   s   r!   c                 C   s  |   }|  }d}|jdgdgd|d |jdgdgd|d d |jdgdgd|d |jdgdgtd	|d d |jdgd
gd|d |jdgd
gtd	|d d |jdgdgd|d |jdgdgtd|d |jdgdgd|d |jdgdgtd|d |jdgdgd|d |jdgdgd|d |jdgdgd|d |jdgdgd|d |jdgdgd|d |jdgdgd|d |jdgdgd|d |jdgdgtd|d |jddd |jddd d S )N  r   )r   r   -   r   sr/   r   r   )r   r   D      ?)r   r   r   r   pg      @)r   r   r   r   )   r   hg      @)r3   r   r   r   )r3   r      Hr   )   r   g     6@8)r   g      @ZxlimZylim)add_subplotscatterr!   set)fig_testfig_refax_testax_refsizer   r   r   test_poly_markerC   s.    rB   c                  C   sN   d} t  \}}|jdgdgd| d |jdgdgd| d |jddd	 d S )
Nr,   r   )r   r   r.   r   )r   r   r   )r         ?r   r1   r9   )pltZsubplotsr;   r<   )rA   ZfigZaxr   r   r   test_star_markerp   s
    rF   g333333?)Ztolc                    s   |   }|   d} fdd}|jdgdgd|d |dd| |jdgdgd	|d |dd| |jd
gd
gd|d |d
d|d  |jddd  jddd d S )Nr,   c                    sF    j | g| gt||d ddkrB j | g| gt||d d S )Nr.   extZpng)r;   r!   Zgetfixturevalue)ystylerA   r@   requestr   r   draw_ref_marker   s
    z-test_asterisk_marker.<locals>.draw_ref_markerr   )r   r   r.   +rC   )r   r   r   r   )r   r   r-   r   r   rD   r9   )r:   r;   r<   )r=   r>   rK   r?   rA   rL   r   rJ   r   test_asterisk_marker   s    	rN   c                 C   s  t tjj}d}d}|| d }d| | }d| | d }| || j || j f | ddddg}|||j || j f |ddddg}	ttjjD ]\}
}|
| }|
| d }|j||g||d gdddd	 |j||d||d
ddd |j||d d||d
ddd |	j||g||d gddd||d
ddd
 q|jd|fdd| fd |	jd|fdd| fd |	d |		d d S )N2   r   r   r   r   k-r   )c	linestylelwr   fullZwhite)rR   r   
markersizemarkeredgewidthr   markerfacecolor)rR   rS   rT   r   rV   rW   r   rX   r   r9   off)
lenr   r	   Zset_size_inchesZdpiZadd_axes	enumerateZplotr<   Zaxis)r>   r=   Zmarker_countZmarker_sizeZncolZnrowwidthheightr@   r?   ir   r   rH   r   r   r   test_marker_clipping   sN     
         
r_   )ZnumpynpZmatplotlib.pyplotZpyplotrE   Z
matplotlibr   Zmatplotlib.pathr   Zmatplotlib.testing.decoratorsr   r   r   markZparametrizeZTICKLEFTarrayZMOVETOZLINETOr	   r   r    r!   rB   rF   rN   r_   r   r   r   r   <module>   sZ   


,
 