massive update, probably broken
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-pyright / node_modules / pyright / dist / typeshed-fallback / stubs / Pillow / PIL / ImageDraw.pyi
diff --git a/.config/coc/extensions/node_modules/coc-pyright/node_modules/pyright/dist/typeshed-fallback/stubs/Pillow/PIL/ImageDraw.pyi b/.config/coc/extensions/node_modules/coc-pyright/node_modules/pyright/dist/typeshed-fallback/stubs/Pillow/PIL/ImageDraw.pyi
new file mode 100644 (file)
index 0000000..5ca32e3
--- /dev/null
@@ -0,0 +1,155 @@
+from collections.abc import Container
+from typing import Any, Sequence, Tuple, Union, overload
+from typing_extensions import Literal
+
+from .Image import Image
+from .ImageColor import _Ink
+from .ImageFont import _Font
+
+_XY = Sequence[Union[float, Tuple[float, float]]]
+_Outline = Any
+
+class ImageDraw:
+    def __init__(self, im: Image, mode: str | None = ...) -> None: ...
+    def getfont(self): ...
+    def arc(self, xy: _XY, start: float, end: float, fill: _Ink | None = ..., width: float = ...) -> None: ...
+    def bitmap(self, xy: _XY, bitmap: Image, fill: _Ink | None = ...) -> None: ...
+    def chord(
+        self, xy: _XY, start: float, end: float, fill: _Ink | None = ..., outline: _Ink | None = ..., width: float = ...
+    ) -> None: ...
+    def ellipse(self, xy: _XY, fill: _Ink | None = ..., outline: _Ink | None = ..., width: float = ...) -> None: ...
+    def line(self, xy: _XY, fill: _Ink | None = ..., width: float = ..., joint: Literal["curve"] | None = ...) -> None: ...
+    def shape(self, shape: _Outline, fill: _Ink | None = ..., outline: _Ink | None = ...) -> None: ...
+    def pieslice(
+        self,
+        xy: tuple[tuple[float, float], tuple[float, float]],
+        start: float,
+        end: float,
+        fill: _Ink | None = ...,
+        outline: _Ink | None = ...,
+        width: float = ...,
+    ) -> None: ...
+    def point(self, xy: _XY, fill: _Ink | None = ...) -> None: ...
+    def polygon(self, xy: _XY, fill: _Ink | None = ..., outline: _Ink | None = ...) -> None: ...
+    def regular_polygon(
+        self,
+        bounding_circle: tuple[float, float] | tuple[float, float, float] | list[int],
+        n_sides: int,
+        rotation: float = ...,
+        fill: _Ink | None = ...,
+        outline: _Ink | None = ...,
+    ) -> None: ...
+    def rectangle(
+        self,
+        xy: tuple[float, float, float, float] | tuple[tuple[float, float], tuple[float, float]],
+        fill: _Ink | None = ...,
+        outline: _Ink | None = ...,
+        width: float = ...,
+    ) -> None: ...
+    def rounded_rectangle(
+        self,
+        xy: tuple[float, float, float, float] | tuple[tuple[float, float], tuple[float, float]],
+        radius: float = ...,
+        fill: _Ink | None = ...,
+        outline: _Ink | None = ...,
+        width: float = ...,
+    ) -> None: ...
+    def text(
+        self,
+        xy: tuple[float, float],
+        text: str | bytes,
+        fill: _Ink | None = ...,
+        font: _Font | None = ...,
+        anchor: str | None = ...,
+        spacing: float = ...,
+        align: Literal["left", "center", "right"] = ...,
+        direction: Literal["rtl", "ltr", "ttb"] | None = ...,
+        features: Sequence[str] | None = ...,
+        language: str | None = ...,
+        stroke_width: int = ...,
+        stroke_fill: _Ink | None = ...,
+        embedded_color: bool = ...,
+        *args,
+        **kwargs,
+    ) -> None: ...
+    def multiline_text(
+        self,
+        xy: tuple[float, float],
+        text: str | bytes,
+        fill: _Ink | None = ...,
+        font: _Font | None = ...,
+        anchor: str | None = ...,
+        spacing: float = ...,
+        align: Literal["left", "center", "right"] = ...,
+        direction: Literal["rtl", "ltr", "ttb"] | None = ...,
+        features: Any | None = ...,
+        language: str | None = ...,
+        stroke_width: int = ...,
+        stroke_fill: _Ink | None = ...,
+        embedded_color: bool = ...,
+    ) -> None: ...
+    def textsize(
+        self,
+        text: str | bytes,
+        font: _Font | None = ...,
+        spacing: float = ...,
+        direction: Literal["rtl", "ltr", "ttb"] | None = ...,
+        features: Sequence[str] | None = ...,
+        language: str | None = ...,
+        stroke_width: int = ...,
+    ) -> tuple[int, int]: ...
+    def multiline_textsize(
+        self,
+        text: str | bytes,
+        font: _Font | None = ...,
+        spacing: float = ...,
+        direction: Literal["rtl", "ltr", "ttb"] | None = ...,
+        features: Sequence[str] | None = ...,
+        language: str | None = ...,
+        stroke_width: int = ...,
+    ) -> tuple[int, int]: ...
+    def textlength(
+        self,
+        text: str | bytes,
+        font: _Font | None = ...,
+        direction: Literal["rtl", "ltr", "ttb"] | None = ...,
+        features: Sequence[str] | None = ...,
+        language: str | None = ...,
+        embedded_color: bool = ...,
+    ) -> int: ...
+    def textbbox(
+        self,
+        xy: tuple[float, float],
+        text: str | bytes,
+        font: _Font | None = ...,
+        anchor: str | None = ...,
+        spacing: float = ...,
+        align: Literal["left", "center", "right"] = ...,
+        direction: Literal["rtl", "ltr", "ttb"] | None = ...,
+        features: Any | None = ...,
+        language: str | None = ...,
+        stroke_width: int = ...,
+        embedded_color: bool = ...,
+    ) -> tuple[int, int, int, int]: ...
+    def multiline_textbbox(
+        self,
+        xy: tuple[float, float],
+        text: str | bytes,
+        font: _Font | None = ...,
+        anchor: str | None = ...,
+        spacing: float = ...,
+        align: Literal["left", "center", "right"] = ...,
+        direction: Literal["rtl", "ltr", "ttb"] | None = ...,
+        features: Any | None = ...,
+        language: str | None = ...,
+        stroke_width: int = ...,
+        embedded_color: bool = ...,
+    ) -> tuple[int, int, int, int]: ...
+
+def Draw(im: Image, mode: str | None = ...) -> ImageDraw: ...
+def Outline() -> _Outline: ...
+@overload
+def getdraw(im: None = ..., hints: Container[Literal["nicest"]] | None = ...) -> tuple[None, Any]: ...
+@overload
+def getdraw(im: Image, hints: Container[Literal["nicest"]] | None = ...) -> tuple[Image, Any]: ...
+def floodfill(image: Image, xy: tuple[float, float], value, border=..., thresh: float = ...) -> None: ...