
    ^b
                     j    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e          ZdS )    )divisionN)
deprecated)ColorBLACKWHITE)pixels_to_EMUEMU_to_pixelsshort_colorc                       e Zd ZdZdZd Zed             Zej        d             Zed             Z	e	j        d             Z	ddZ
 ed	          d
             Ze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                     d| _         d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _	        d| _
        d| _        d S )N ))      )      r         Fabsolute)namedescriptioncoordinateslefttop_width_heightresize_proportionalrotation
anchortype	anchorcol	anchorrowselfs    8lib/python3.11/site-packages/openpyxl/drawing/drawing.py__init__zDrawing.__init__   s]    	,	#( $    c                     | j         S N)r   r"   s    r$   widthzDrawing.width(   s
    {r&   c                 r    | j         r(|r&| j        | j        z  }t          ||z            | _        || _        d S r(   )r   r   r   round)r#   wratios      r$   r)   zDrawing.width,   s@    # 	, 	,L4;.E ++DLr&   c                     | j         S r(   )r   r"   s    r$   heightzDrawing.height3   s
    |r&   c                 r    | j         r(|r&| j        | j        z  }t          ||z            | _        || _        d S r(   )r   r   r   r+   )r#   hr-   s      r$   r/   zDrawing.height7   s@    # 	+ 	+K$,.E	**DKr&   c                    || j         z  }|| j        z  }| j        rf|rf|rf|| j        z  |k     r*t          j        || j        z            | _        || _         d S t          j        || j         z            | _         || _        d S d S d S d S r(   )r   r   r   mathceil)r#   r,   r1   xratioyratios        r$   set_dimensionzDrawing.set_dimension>   s    T[T\!# 	! 	!a 	!%* !#y$,)>??"i(<== 	! 	! 	! 	! 	! 	!r&   z$Private method used when serialisingc                     t          | j                  t          | j                  t          | j                  t          | j                  fS )z return (x, y, w, h) in EMU )r   r   r   r   r   r"   s    r$   get_emu_dimensionszDrawing.get_emu_dimensionsK   sB     di((-*A*A$+&&dl(C(CE 	Er&   c                    ddl m}m}m} | j        dk    rG |            }t          | j                  |j        _        t          | j	                  |j        _
        n7| j        dk    r, |            }| j        |j        _        | j        |j        _        t          | j                  |j        _        t          | j                  |j        _        |S )Nr   )OneCellAnchorTwoCellAnchorAbsoluteAnchorr   oneCell)spreadsheet_drawingr;   r<   r=   r   r   r   posxr   yr    _fromcolr!   rowr   extr)   r   r/   )r#   r;   r<   r=   anchors        r$   rG   zDrawing.anchorS   s    	 	 	 	 	 	 	 	 	 	 ?j( 	.#^%%F(33FJL(22FJLL_	) 	."]__F#~FL#~FL(55
)$,77
r&   N)r   r   )__name__
__module____qualname____doc__countr%   propertyr)   setterr/   r7   r   r9   rG    r&   r$   r   r      s         
 E      X \  \   X ]  ]! ! ! ! Z677E E 87E   X  r&   r   )
__future__r   r3   openpyxl.compatr   openpyxl.styles.colorsr   r   r   openpyxl.utils.unitsr   r	   r
   objectr   rO   r&   r$   <module>rU      s           & & & & & & 6 6 6 6 6 6 6 6 6 6         V V V V Vf V V V V Vr&   