
    gE
                     <    d dl mZ  G d de      Z G d de      Zy)   )Rendererc                   Z    e Zd ZdZd Zd Zd Zd Zd Zd Z	d Z
	 dd
Z	 	 	 ddZddZy	)FakeRenderera  
    Fake Renderer

    This is a fake renderer which simply outputs a text tree representing the
    elements found in the plot(s).  This is used in the unit tests for the
    package.

    Below are the methods your renderer must implement. You are free to do
    anything you wish within the renderer (i.e. build an XML or JSON
    representation, call an external API, etc.)  Here the renderer just
    builds a simple string representation for testing purposes.
    c                     d| _         y )N output)selfs    t/var/www/dash_apps/app1/venv/lib/python3.12/site-packages/plotly/matplotlylib/mplexporter/renderers/fake_renderer.py__init__zFakeRenderer.__init__   s	        c                 .    | xj                   dz  c_         y )Nzopening figure
r   )r
   figpropss      r   open_figurezFakeRenderer.open_figure       ))r   c                 .    | xj                   dz  c_         y )Nzclosing figure
r   )r
   r   s     r   close_figurezFakeRenderer.close_figure   r   r   c                 .    | xj                   dz  c_         y )Nz  opening axes
r   )r
   axr   s      r   	open_axeszFakeRenderer.open_axes   r   r   c                 .    | xj                   dz  c_         y )Nz  closing axes
r   )r
   r   s     r   
close_axeszFakeRenderer.close_axes   r   r   c                 .    | xj                   dz  c_         y )Nz    opening legend
r   )r
   legendr   s      r   open_legendzFakeRenderer.open_legend!       --r   c                 .    | xj                   dz  c_         y )Nz    closing legend
r   )r
   r   s     r   close_legendzFakeRenderer.close_legend$   r   r   Nc                 N    | xj                   dj                  ||      z  c_         y )Nz    draw text '{0}' {1}
)r	   format)r
   textpositioncoordinatesstyle	text_typemplobjs          r   	draw_textzFakeRenderer.draw_text'   s      	299$	JJr   c                 f    | xj                   dj                  |j                  d         z  c_         y )Nz     draw path with {0} vertices
    r	   r!   shape)r
   datar$   	pathcodesr%   offsetoffset_coordinatesr'   s           r   	draw_pathzFakeRenderer.draw_path,   s&     	:AA$**Q-PPr   c                 ^    | xj                   dj                  t        |            z  c_         y )Nz    draw image of size {0}
)r	   r!   len)r
   imdataextentr$   r%   r'   s         r   
draw_imagezFakeRenderer.draw_image8   s     5<<S[IIr   )NN)Nr-   NN)__name__
__module____qualname____doc__r   r   r   r   r   r   r   r(   r1   r6    r   r   r   r      sN    ****.. JNK !
QJr   r   c                   *    e Zd ZdZddZddZ	 ddZy)FullFakeRenderera  
    Renderer with the full complement of methods.

    When the following are left undefined, they will be implemented via
    other methods in the class.  They can be defined explicitly for
    more efficient or specialized use within the renderer implementation.
    Nc                 f    | xj                   dj                  |j                  d         z  c_         y )Nz    draw line with {0} points
r*   r+   r
   r-   r$   r%   labelr'   s         r   	draw_linezFullFakeRenderer.draw_lineE   s$    8??

1NNr   c                 f    | xj                   dj                  |j                  d         z  c_         y )Nz    draw {0} markers
r*   r+   r@   s         r   draw_markerszFullFakeRenderer.draw_markersH   s$    /66tzz!}EEr   c	                 f    | xj                   dj                  |j                  d         z  c_         y )Nz*    draw path collection with {0} offsets
r*   r+   )	r
   pathspath_coordinatespath_transformsoffsetsr0   offset_orderstylesr'   s	            r   draw_path_collectionz%FullFakeRenderer.draw_path_collectionK   s,     	GNNMM!
 	
r   r7   )r8   r9   r:   r;   rB   rD   rL   r<   r   r   r>   r>   <   s    OF 
r   r>   N)baser   r   r>   r<   r   r   <module>rN      s#    5J8 5Jp
| 
r   