mirror of
https://github.com/python-pillow/Pillow.git
synced 2025-07-12 01:02:39 +03:00
Improved typing for ImageDraw
This commit is contained in:
parent
569b785371
commit
69ae6662cb
|
@ -39,7 +39,7 @@ from typing import TYPE_CHECKING, Any, AnyStr, Callable, Union, cast
|
|||
|
||||
from . import Image, ImageColor
|
||||
from ._deprecate import deprecate
|
||||
from ._typing import Coords
|
||||
from ._typing import Coords, Anchor, Align, Direction
|
||||
|
||||
# experimental access to the outline API
|
||||
Outline: Callable[[], Image.core._Outline] | None
|
||||
|
@ -241,7 +241,7 @@ class ImageDraw:
|
|||
xy: Coords,
|
||||
fill: _Ink | None = None,
|
||||
width: int = 0,
|
||||
joint: str | None = None,
|
||||
joint: Literal["curve"] | None = None,
|
||||
) -> None:
|
||||
"""Draw a line, or a connected sequence of line segments."""
|
||||
ink = self._getink(fill)[0]
|
||||
|
@ -583,10 +583,10 @@ class ImageDraw:
|
|||
| ImageFont.TransposedFont
|
||||
| None
|
||||
) = None,
|
||||
anchor: str | None = None,
|
||||
anchor: Anchor | None = None,
|
||||
spacing: float = 4,
|
||||
align: str = "left",
|
||||
direction: str | None = None,
|
||||
align: Align = "left",
|
||||
direction: Direction | None = None,
|
||||
features: list[str] | None = None,
|
||||
language: str | None = None,
|
||||
stroke_width: float = 0,
|
||||
|
@ -708,10 +708,10 @@ class ImageDraw:
|
|||
| ImageFont.TransposedFont
|
||||
| None
|
||||
) = None,
|
||||
anchor: str | None = None,
|
||||
anchor: Anchor | None = None,
|
||||
spacing: float = 4,
|
||||
align: str = "left",
|
||||
direction: str | None = None,
|
||||
align: Align = "left",
|
||||
direction: Direction | None = None,
|
||||
features: list[str] | None = None,
|
||||
language: str | None = None,
|
||||
stroke_width: float = 0,
|
||||
|
@ -798,7 +798,7 @@ class ImageDraw:
|
|||
| ImageFont.TransposedFont
|
||||
| None
|
||||
) = None,
|
||||
direction: str | None = None,
|
||||
direction: Direction | None = None,
|
||||
features: list[str] | None = None,
|
||||
language: str | None = None,
|
||||
embedded_color: bool = False,
|
||||
|
@ -828,10 +828,10 @@ class ImageDraw:
|
|||
| ImageFont.TransposedFont
|
||||
| None
|
||||
) = None,
|
||||
anchor: str | None = None,
|
||||
anchor: Anchor | None = None,
|
||||
spacing: float = 4,
|
||||
align: str = "left",
|
||||
direction: str | None = None,
|
||||
align: Align = "left",
|
||||
direction: Direction | None = None,
|
||||
features: list[str] | None = None,
|
||||
language: str | None = None,
|
||||
stroke_width: float = 0,
|
||||
|
@ -878,10 +878,10 @@ class ImageDraw:
|
|||
| ImageFont.TransposedFont
|
||||
| None
|
||||
) = None,
|
||||
anchor: str | None = None,
|
||||
anchor: Anchor | None = None,
|
||||
spacing: float = 4,
|
||||
align: str = "left",
|
||||
direction: str | None = None,
|
||||
align: Align = "left",
|
||||
direction: Direction | None = None,
|
||||
features: list[str] | None = None,
|
||||
language: str | None = None,
|
||||
stroke_width: float = 0,
|
||||
|
|
|
@ -3,7 +3,7 @@ from __future__ import annotations
|
|||
import os
|
||||
import sys
|
||||
from collections.abc import Sequence
|
||||
from typing import TYPE_CHECKING, Any, Protocol, TypeVar, Union
|
||||
from typing import TYPE_CHECKING, Any, Protocol, TypeVar, Union, Literal
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from numbers import _IntegralLike as IntegralLike
|
||||
|
@ -49,5 +49,12 @@ class SupportsRead(Protocol[_T_co]):
|
|||
|
||||
StrOrBytesPath = Union[str, bytes, os.PathLike[str], os.PathLike[bytes]]
|
||||
|
||||
horizontal_anchors = ("l", "m", "r", "s")
|
||||
vertical_anchors = ("a", "t", "m", "s", "b", "d")
|
||||
Anchor = Literal[*(horizontal_anchor + vertical_anchor for horizontal_anchor in horizontal_anchors for vertical_anchor in vertical_anchors)]
|
||||
|
||||
Align = Literal["left", "center", "right"]
|
||||
|
||||
Direction = Literal["rtl", "ltr", "ttb"]
|
||||
|
||||
__all__ = ["Buffer", "IntegralLike", "StrOrBytesPath", "SupportsRead", "TypeGuard"]
|
||||
|
|
Loading…
Reference in New Issue
Block a user