o
    g                     @   sF   d dl mZmZmZ d dlmZ dZdZdZG dd dZ	dd	 Z
d
S )    )Element
SubElementtostring)coordinate_to_tuplezurn:schemas-microsoft-com:vmlz'urn:schemas-microsoft-com:office:officez&urn:schemas-microsoft-com:office:excelc                   @   s8   e Zd ZdZdZdZdd Zdd Zdd Zd	d
 Z	dS )ShapeWriterz!
    Create VML for comments
    Nc                 C   s
   || _ d S )N)comments)selfr    r	   X/var/www/html/api-tag/env/lib/python3.10/site-packages/openpyxl/comments/shape_writer.py__init__   s   
zShapeWriter.__init__c                 C   s   t |dt dt di}t |dt dt dddi t |dt dd	d
ddt dddi}t |dt ddi t |dt dddt di d S )Nz{%s}shapelayoutz{%s}exteditz	{%s}idmapdata1z{%s}shapetypeid_x0000_t202	coordsizez21600,21600z{%s}spt202pathzm,l,21600r21600,l21600,xez
{%s}stroke	joinstylemiter{%s}pathgradientshapeokt{%s}connecttyperect)r   officensvmlns)r   rootshape_layout
shape_typer	   r	   r
   add_comment_shapetype   s,   

z!ShapeWriter.add_comment_shapetypec           	      C   sH   t |\}}|d8 }|d8 }t||||}|dd|  || d S )N   r   z_x0000_s%04d)r   _shape_factorysetappend)	r   r   idxcoordheightwidthrowcolshaper	   r	   r
   add_comment_shape0   s   zShapeWriter.add_comment_shapec                 C   s   t |ds	td}|dt }|D ]}|| q|dt }|d u r*| | t| jdD ]\}\}}| 	||||j
|j q0t|S )Nfindallxmlz{%s}shape[@type='#_x0000_t202']z {%s}shapetype[@id='_x0000_t202']i  )hasattrr   r-   r   removefindr    	enumerater   r,   r'   r(   r   )r   r   r   cshape_typesr%   r&   commentr	   r	   r
   write:   s   

zShapeWriter.write)
__name__
__module____qualname____doc__vmlvml_pathr   r    r,   r6   r	   r	   r	   r
   r      s    
r   c           	      C   s  dj ||d}ddd|dddt d	i}td
t |}t|dt ddi t|dt ddd t|dt dt di t|dt ddi}t|dddi t|dt ddi}t|dt  t|dt  dt|dt _t| t|dt _t|t|d t _|S )!Nzuposition:absolute; margin-left:59.25pt;margin-top:1.5pt;width:{width}px;height:{height}px;z-index:1;visibility:hidden)r'   r(   typez#_x0000_t202style	fillcolorz#ffffe1z{%s}insetmodeautoz	{%s}shapez{%s}fillcolor2z
{%s}shadowblackr   )colorobscuredr   r   nonez{%s}textboxzmso-direction-alt:autodivztext-align:leftz{%s}ClientData
ObjectTypeNotez{%s}MoveWithCellsz{%s}SizeWithCellsFalsez{%s}AutoFillz{%s}Rowz
{%s}Column)formatr   r   r   r   excelnstextstr)	r)   columnr'   r(   r>   attrsr+   textboxclient_datar	   r	   r
   r"   O   s@   	





r"   N)openpyxl.xml.functionsr   r   r   openpyxl.utilsr   r   r   rK   r   r"   r	   r	   r	   r
   <module>   s   ?