|
1 | 1 | from _typeshed import Incomplete |
2 | 2 | from abc import abstractmethod |
3 | 3 | from collections.abc import Collection, Iterable, Sequence |
4 | | -from typing import Any, Literal, overload |
| 4 | +from typing import Any, Literal, NamedTuple, overload |
5 | 5 | from typing_extensions import TypeAlias, Unpack |
6 | 6 |
|
7 | 7 | from reportlab.lib.colors import Color |
@@ -55,6 +55,13 @@ class TableStyle: |
55 | 55 | def add(self, *cmd: Unpack[_RoundedCornersTableCommand]) -> None: ... |
56 | 56 | def getCommands(self) -> list[_TableCommand]: ... |
57 | 57 |
|
| 58 | +class ShadowStyle(NamedTuple): |
| 59 | + dx: int | Incomplete = 10 # TODO: is either `int` or `float` |
| 60 | + dy: int | Incomplete = -10 # TODO: is either `int` or `float` |
| 61 | + color0: _Color = "grey" |
| 62 | + color1: _Color = "white" |
| 63 | + nshades: int = 30 |
| 64 | + |
58 | 65 | class Table(Flowable): |
59 | 66 | ident: str | None |
60 | 67 | repeatRows: int |
@@ -89,6 +96,7 @@ class Table(Flowable): |
89 | 96 | minRowHeights: Sequence[float] | None = None, |
90 | 97 | cornerRadii: _CornerRadii | _UNSET_ | None = ..., |
91 | 98 | renderCB: TableRenderCB | None = None, |
| 99 | + shadow: ShadowStyle | None = None, |
92 | 100 | ) -> None: ... |
93 | 101 | def identity(self, maxLen: int | None = 30) -> str: ... |
94 | 102 | def normalizeData(self, data: Iterable[Iterable[Any]]) -> list[list[Any]]: ... |
|
0 commit comments