ó
    ˆ*£hÜ  ã                  óÚ   • S r SSKJr  SSKJrJr  SSKJr  SSKJ	r	  SSK
Jr  SSKJr  \(       a&  SSKJrJr  SS	KJr  SS
KJr  SSKJr  SSKJr  SSKJr   " S S\5      r " S S\5      rg)z-Base shape-related objects such as BaseShape.é    )Úannotations)ÚTYPE_CHECKINGÚcast)ÚActionSetting)ÚShadowFormat)ÚElementProxy)Úlazyproperty)ÚMSO_SHAPE_TYPEÚPP_PLACEHOLDER)ÚShapeElement)ÚCT_Placeholder)ÚBaseSlidePart)ÚProvidesPart)ÚLengthc                  óˆ  ^ • \ rS rSrSrSU 4S jjrSS jrSS jr\S S j5       r	\
S!S j5       r\
S"S j5       r\
S"S	 j5       r\
S"S
 j5       r\
S#S j5       r\R                   S$S j5       r\
S"S j5       r\
S#S j5       r\R                   S$S j5       r\
S%S j5       r\R                   S&S j5       r\
S'S j5       r\
S(S j5       r\
S)S j5       r\R                   S*S j5       r\S+S j5       r\
S,S j5       r\
S-S j5       r\
S#S j5       r\R                   S$S j5       r\
S#S j5       r\R                   S$S j5       rSrU =r$ ).Ú	BaseShapeé   zZBase class for shape objects.

Subclasses include |Shape|, |Picture|, and |GraphicFrame|.
c                ó:   >• [         TU ]  5         Xl        X l        g ©N)ÚsuperÚ__init__Ú_elementÚ_parent)ÚselfÚ	shape_elmÚparentÚ	__class__s      €ÚM/home/mande/repo/quber/.venv/lib/python3.13/site-packages/pptx/shapes/base.pyr   ÚBaseShape.__init__   s   ø€ Ü‰ÑÔØ!ŒØ�ó    c                ó^   • [        U[        5      (       d  gU R                  UR                  L $ )zÆ|True| if this shape object proxies the same element as *other*.

Equality for proxy objects is defined as referring to the same XML element, whether or not
they are the same proxy object instance.
F©Ú
isinstancer   r   ©r   Úothers     r   Ú__eq__ÚBaseShape.__eq__    s'   € ô ˜%¤×+Ñ+ØØ�}‰} §¡Ð.Ð.r    c                ó^   • [        U[        5      (       d  gU R                  UR                  L$ )NTr"   r$   s     r   Ú__ne__ÚBaseShape.__ne__*   s%   € Ü˜%¤×+Ñ+ØØ�}‰} E§N¡NÐ2Ð2r    c                óX   • U R                   R                  R                  n[        X5      $ )a  |ActionSetting| instance providing access to click behaviors.

Click behaviors are hyperlink-like behaviors including jumping to a hyperlink (web page)
or to another slide in the presentation. The click action is that defined on the overall
shape, not a run of text within the shape. An |ActionSetting| object is always returned,
even when no click behavior is defined on the shape.
)r   Ú_nvXxPrÚcNvPrr   )r   r-   s     r   Úclick_actionÚBaseShape.click_action/   s$   € ð —‘×%Ñ%×+Ñ+ˆÜ˜UÓ)Ð)r    c                ó   • U R                   $ )zæ`lxml` element for this shape, e.g. a CT_Shape instance.

Note that manipulating this element improperly can produce an invalid presentation file.
Make sure you know what you're doing if you use this to change the underlying XML.
)r   ©r   s    r   ÚelementÚBaseShape.element;   s   € ð �}‰}Ðr    c                ó   • g)z¤|True| if this shape is a graphic frame containing a chart object.

|False| otherwise. When |True|, the chart object can be accessed using the ``.chart``
property.
F© r1   s    r   Ú	has_chartÚBaseShape.has_chartD   ó   € ð r    c                ó   • g)z¤|True| if this shape is a graphic frame containing a table object.

|False| otherwise. When |True|, the table object can be accessed using the ``.table``
property.
Fr5   r1   s    r   Ú	has_tableÚBaseShape.has_tableO   r8   r    c                ó   • g)z&|True| if this shape can contain text.Fr5   r1   s    r   Úhas_text_frameÚBaseShape.has_text_frameZ   s   € ð r    c                ó.   • U R                   R                  $ )zMRead/write. Integer distance between top and bottom extents of shape in EMUs.©r   Úcyr1   s    r   ÚheightÚBaseShape.height`   s   € ð �}‰}×ÑÐr    c                ó$   • XR                   l        g r   r@   ©r   Úvalues     r   rB   rC   e   ó   € à �‰Õr    c                ó.   • U R                   R                  $ )z[True if this shape is a placeholder.

A shape is a placeholder if it has a <p:ph> element.
)r   Ú
has_ph_elmr1   s    r   Úis_placeholderÚBaseShape.is_placeholderi   s   € ð �}‰}×'Ñ'Ð'r    c                ó.   • U R                   R                  $ )z†Integer distance of the left edge of this shape from the left edge of the slide.

Read/write. Expressed in English Metric Units (EMU)
©r   Úxr1   s    r   ÚleftÚBaseShape.leftq   ó   € ð �}‰}�‰Ðr    c                ó$   • XR                   l        g r   rM   rE   s     r   rO   rP   y   ó   € à�‰�r    c                ó.   • U R                   R                  $ )z%Name of this shape, e.g. 'Picture 7'.)r   Ú
shape_namer1   s    r   ÚnameÚBaseShape.name}   s   € ð �}‰}×'Ñ'Ð'r    c                óL   • XR                   R                  R                  l        g r   )r   r,   r-   rV   rE   s     r   rV   rW   ‚   s   € à+0�‰×Ñ×#Ñ#Õ(r    c                óB   • [        SU R                  R                  5      $ )z¸The package part containing this shape.

A |BaseSlidePart| subclass in this case. Access to a slide part should only be required if
you are extending the behavior of |pp| API objects.
r   )r   r   Úpartr1   s    r   rZ   ÚBaseShape.part†   s   € ô �O T§\¡\×%6Ñ%6Ó7Ð7r    c                ó`   • U R                   R                  nUc  [        S5      e[        U5      $ )z�Provides access to placeholder-specific properties such as placeholder type.

Raises |ValueError| on access if the shape is not a placeholder.
zshape is not a placeholder)r   ÚphÚ
ValueErrorÚ_PlaceholderFormat)r   r]   s     r   Úplaceholder_formatÚBaseShape.placeholder_format�   s/   € ð �]‰]×ÑˆØ‰:ÜÐ9Ó:Ð:Ü! "Ó%Ð%r    c                ó.   • U R                   R                  $ )z­Degrees of clockwise rotation.

Read/write float. Negative values can be assigned to indicate counter-clockwise rotation,
e.g. assigning -45.0 will change setting to 315.0.
©r   Úrotr1   s    r   ÚrotationÚBaseShape.rotationš   s   € ð �}‰}× Ñ Ð r    c                ó$   • XR                   l        g r   rc   rE   s     r   re   rf   £   s   € à!�‰Õr    c                ó@   • [        U R                  R                  5      $ )zÎ|ShadowFormat| object providing access to shadow for this shape.

A |ShadowFormat| object is always returned, even when no shadow is
explicitly defined on this shape (i.e. it inherits its shadow
behavior).
)r   r   ÚspPrr1   s    r   ÚshadowÚBaseShape.shadow§   s   € ô ˜DŸM™M×.Ñ.Ó/Ð/r    c                ó.   • U R                   R                  $ )zmRead-only positive integer identifying this shape.

The id of a shape is unique among all shapes on a slide.
)r   Úshape_idr1   s    r   rm   ÚBaseShape.shape_id±   s   € ð �}‰}×%Ñ%Ð%r    c                óD   • [        [        U 5      R                   S35      e)z~A member of MSO_SHAPE_TYPE classifying this shape by type.

Like ``MSO_SHAPE_TYPE.CHART``. Must be implemented by subclasses.
z! does not implement `.shape_type`)ÚNotImplementedErrorÚtypeÚ__name__r1   s    r   Ú
shape_typeÚBaseShape.shape_type¹   s"   € ô "¤T¨$£Z×%8Ñ%8Ð$9Ð9ZÐ"[Ó\Ð\r    c                ó.   • U R                   R                  $ )z|Distance from the top edge of the slide to the top edge of this shape.

Read/write. Expressed in English Metric Units (EMU)
©r   Úyr1   s    r   ÚtopÚBaseShape.topÁ   rQ   r    c                ó$   • XR                   l        g r   rv   rE   s     r   rx   ry   É   rS   r    c                ó.   • U R                   R                  $ )zmDistance between left and right extents of this shape.

Read/write. Expressed in English Metric Units (EMU).
©r   Úcxr1   s    r   ÚwidthÚBaseShape.widthÍ   s   € ð �}‰}×ÑÐr    c                ó$   • XR                   l        g r   r|   rE   s     r   r~   r   Õ   rG   r    )r   r   )r   r   r   r   )r%   ÚobjectÚreturnÚbool)r‚   r   )r‚   r   )r‚   rƒ   )r‚   r   )rF   r   )r‚   Ústr)rF   r„   )r‚   r   )r‚   r_   )r‚   Úfloat)rF   r…   )r‚   r   ©r‚   Úint)r‚   r
   )rr   Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r&   r)   r	   r.   Úpropertyr2   r6   r:   r=   rB   ÚsetterrJ   rO   rV   rZ   r`   re   rj   rm   rs   rx   r~   Ú__static_attributes__Ú__classcell__©r   s   @r   r   r      sý  ø† ñ÷
ô
/ô3ð
 ó	*ó ð	*ð óó ðð óó ðð óó ðð óó ðð
 ó ó ð ð ‡]�]ó!ó ð!ð ó(ó ð(ð óó ðð 
‡[�[ó ó ð ð ó(ó ð(ð 
‡[�[ó1ó ð1ð ó8ó ð8ð ó&ó ð&ð ó!ó ð!ð ‡_�_ó"ó ð"ð ó0ó ð0ð ó&ó ð&ð ó]ó ð]ð óó ðð 	‡Z�Zó ó ð ð ó ó ð ð ‡\�\ó!ó ö!r    r   c                  ól   ^ • \ rS rSrSrSU 4S jjr\S	S j5       r\S
S j5       r\SS j5       r	Sr
U =r$ )r_   éÚ   z¦Provides properties specific to placeholders, such as the placeholder type.

Accessed via the :attr:`~.BaseShape.placeholder_format` property of a placeholder shape,
c                ó0   >• [         TU ]  U5        Xl        g r   )r   r   Ú_ph)r   r2   r   s     €r   r   Ú_PlaceholderFormat.__init__à   s   ø€ Ü‰Ñ˜Ô!Ø�r    c                ó   • U R                   $ )z*The `p:ph` element proxied by this object.©r”   r1   s    r   r2   Ú_PlaceholderFormat.elementä   s   € ð �x‰xˆr    c                ó.   • U R                   R                  $ )z$Integer placeholder 'idx' attribute.)r”   Úidxr1   s    r   rš   Ú_PlaceholderFormat.idxé   s   € ð �x‰x�|‰|Ðr    c                ó.   • U R                   R                  $ )zcPlaceholder type.

A member of the :ref:`PpPlaceholderType` enumeration, e.g. PP_PLACEHOLDER.CHART
)r”   rq   r1   s    r   rq   Ú_PlaceholderFormat.typeî   s   € ð �x‰x�}‰}Ðr    r—   )r2   r   )r‚   r   r†   )r‚   r   )rr   rˆ   r‰   rŠ   r‹   r   rŒ   r2   rš   rq   rŽ   r�   r�   s   @r   r_   r_   Ú   sI   ø† ñ÷
ð óó ðð óó ðð óó ör    r_   N)r‹   Ú
__future__r   Útypingr   r   Úpptx.actionr   Úpptx.dml.effectr   Úpptx.sharedr   Ú	pptx.utilr	   Úpptx.enum.shapesr
   r   Úpptx.oxml.shapesr   Úpptx.oxml.shapes.sharedr   Úpptx.parts.slider   Ú
pptx.typesr   r   r�   r   r_   r5   r    r   Ú<module>r©      sJ   ðÙ 3å "ç &å %Ý (Ý $Ý "æß?Ý-Ý6Ý.Ý'Ý ôB!�ô B!ôJ˜õ r    