a
    «Á‚bá
  ã                   @   s\   d dl mZ d dlZd dlmZ d dlmZmZmZ d dl	m
Z
mZmZ G dd„ deƒZdS )é    )ÚdivisionN)Ú
deprecated)ÚColorÚBLACKÚWHITE)Úpixels_to_EMUÚEMU_to_pixelsÚshort_colorc                   @   sv   e Zd ZdZdZdd„ Zedd„ ƒZejdd„ ƒZedd	„ ƒZ	e	jd
d	„ ƒZ	ddd„Z
edƒdd„ ƒZedd„ ƒZdS )ÚDrawingz¨ a drawing object - eg container for shapes or charts
        we assume user specifies dimensions in pixels; units are
        converted to EMU in the drawing part
    r   c                 C   sL   d| _ d| _d| _d| _d| _d| _d| _d| _d| _d| _	d| _
d| _d S )NÚ ))é   é   )é   é   r   é   éÀ   FÚabsolute)ÚnameÚdescriptionZcoordinatesÚleftÚtopÚ_widthÚ_heightÚresize_proportionalZrotationÚ
anchortypeÚ	anchorcolÚ	anchorrow©Úself© r   úh/Users/vegardjervell/Documents/master/model/venv/lib/python3.9/site-packages/openpyxl/drawing/drawing.pyÚ__init__   s    zDrawing.__init__c                 C   s   | j S ©N)r   r   r   r   r    Úwidth(   s    zDrawing.widthc                 C   s.   | j r$|r$| j| j }t|| ƒ| _|| _d S r"   )r   r   r   Úround)r   ÚwÚratior   r   r    r#   ,   s    
c                 C   s   | j S r"   )r   r   r   r   r    Úheight3   s    zDrawing.heightc                 C   s.   | j r$|r$| j| j }t|| ƒ| _|| _d S r"   )r   r   r   r$   )r   Úhr&   r   r   r    r'   7   s    
c                 C   sf   || j  }|| j }| jrb|rb|rb|| j |k rJt || j ¡| _|| _ nt || j  ¡| _ || _d S r"   )r   r   r   ÚmathÚceil)r   r%   r(   ZxratioZyratior   r   r    Úset_dimension>   s    

zDrawing.set_dimensionz$Private method used when serialisingc                 C   s$   t | jƒt | jƒt | jƒt | jƒfS )z return (x, y, w, h) in EMU )r   r   r   r   r   r   r   r   r    Úget_emu_dimensionsK   s    ÿzDrawing.get_emu_dimensionsc                 C   s†   ddl m}m}m} | jdkrB|ƒ }t| jƒ|j_t| j	ƒ|j_
n$| jdkrf|ƒ }| j|j_| j|j_t| jƒ|j_t| jƒ|j_|S )Nr   )ÚOneCellAnchorÚTwoCellAnchorÚAbsoluteAnchorr   ZoneCell)Zspreadsheet_drawingr-   r.   r/   r   r   r   ÚposÚxr   Úyr   Z_fromÚcolr   Úrowr   Úextr#   r   r'   )r   r-   r.   r/   Úanchorr   r   r    r6   S   s    



zDrawing.anchorN)r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úcountr!   Úpropertyr#   Úsetterr'   r+   r   r,   r6   r   r   r   r    r
      s    





r
   )Ú
__future__r   r)   Zopenpyxl.compatr   Zopenpyxl.styles.colorsr   r   r   Zopenpyxl.utils.unitsr   r   r	   Úobjectr
   r   r   r   r    Ú<module>   s
   