aboutsummaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/pptx/types.py
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/pptx/types.py')
-rw-r--r--.venv/lib/python3.12/site-packages/pptx/types.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/pptx/types.py b/.venv/lib/python3.12/site-packages/pptx/types.py
new file mode 100644
index 00000000..46d86661
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/pptx/types.py
@@ -0,0 +1,36 @@
+"""Abstract types used by `python-pptx`."""
+
+from __future__ import annotations
+
+from typing import TYPE_CHECKING
+
+from typing_extensions import Protocol
+
+if TYPE_CHECKING:
+ from pptx.opc.package import XmlPart
+ from pptx.util import Length
+
+
+class ProvidesExtents(Protocol):
+ """An object that has width and height."""
+
+ @property
+ def height(self) -> Length:
+ """Distance between top and bottom extents of shape in EMUs."""
+ ...
+
+ @property
+ def width(self) -> Length:
+ """Distance between left and right extents of shape in EMUs."""
+ ...
+
+
+class ProvidesPart(Protocol):
+ """An object that provides access to its XmlPart.
+
+ This type is for objects that need access to their part, possibly because they need access to
+ the package or related parts.
+ """
+
+ @property
+ def part(self) -> XmlPart: ...