From dd662b0d1265f2852b933a14e6fe57e76fc715dc Mon Sep 17 00:00:00 2001 From: Grant Sanderson Date: Tue, 20 Dec 2022 09:52:24 -0800 Subject: [PATCH] Move Selector and Span to manimlib.typing --- manimlib/mobject/svg/mtex_mobject.py | 17 +---------------- manimlib/mobject/svg/string_mobject.py | 16 ++-------------- manimlib/mobject/svg/text_mobject.py | 15 ++------------- manimlib/typing.py | 12 +++++++++++- 4 files changed, 16 insertions(+), 44 deletions(-) diff --git a/manimlib/mobject/svg/mtex_mobject.py b/manimlib/mobject/svg/mtex_mobject.py index 1a545666..c6c0102a 100644 --- a/manimlib/mobject/svg/mtex_mobject.py +++ b/manimlib/mobject/svg/mtex_mobject.py @@ -10,23 +10,8 @@ from manimlib.utils.tex_file_writing import tex_content_to_svg_file from typing import TYPE_CHECKING if TYPE_CHECKING: - import re - from typing import Iterable, Union - from manimlib.mobject.types.vectorized_mobject import VGroup - from manimlib.typing import ManimColor - - Span = tuple[int, int] - Selector = Union[ - str, - re.Pattern, - tuple[Union[int, None], Union[int, None]], - Iterable[Union[ - str, - re.Pattern, - tuple[Union[int, None], Union[int, None]] - ]] - ] + from manimlib.typing import ManimColor, Span, Selector SCALE_FACTOR_PER_FONT_POINT = 0.001 diff --git a/manimlib/mobject/svg/string_mobject.py b/manimlib/mobject/svg/string_mobject.py index a21ed9b4..b97da8df 100644 --- a/manimlib/mobject/svg/string_mobject.py +++ b/manimlib/mobject/svg/string_mobject.py @@ -17,20 +17,8 @@ from manimlib.utils.color import int_to_hex from typing import TYPE_CHECKING if TYPE_CHECKING: - from typing import Callable, Iterable, Union - from manimlib.typing import ManimColor - - Span = tuple[int, int] - Selector = Union[ - str, - re.Pattern, - tuple[Union[int, None], Union[int, None]], - Iterable[Union[ - str, - re.Pattern, - tuple[Union[int, None], Union[int, None]] - ]] - ] + from typing import Callable + from manimlib.typing import ManimColor, Span, Selector class StringMobject(SVGMobject, ABC): diff --git a/manimlib/mobject/svg/text_mobject.py b/manimlib/mobject/svg/text_mobject.py index f504cc01..7fea568f 100644 --- a/manimlib/mobject/svg/text_mobject.py +++ b/manimlib/mobject/svg/text_mobject.py @@ -24,21 +24,10 @@ from manimlib.utils.simple_functions import hash_string from typing import TYPE_CHECKING if TYPE_CHECKING: - from typing import Iterable, Union + from typing import Iterable from manimlib.mobject.types.vectorized_mobject import VGroup - from manimlib.typing import ManimColor - Span = tuple[int, int] - Selector = Union[ - str, - re.Pattern, - tuple[Union[int, None], Union[int, None]], - Iterable[Union[ - str, - re.Pattern, - tuple[Union[int, None], Union[int, None]] - ]] - ] + from manimlib.typing import ManimColor, Span, Selector TEXT_MOB_SCALE_FACTOR = 0.0076 diff --git a/manimlib/typing.py b/manimlib/typing.py index 6764b412..5e383791 100644 --- a/manimlib/typing.py +++ b/manimlib/typing.py @@ -1,14 +1,24 @@ from typing import TYPE_CHECKING if TYPE_CHECKING: - from typing import Union, Tuple, Annotated, Literal + from typing import Union, Tuple, Annotated, Literal, Iterable from colour import Color import numpy as np + import re # Abbreviations for a common types ManimColor = Union[str, Color, None] RangeSpecifier = Tuple[float, float, float] | Tuple[float, float] + + Span = tuple[int, int] + SingleSelector = Union[ + str, + re.Pattern, + tuple[Union[int, None], Union[int, None]], + ] + Selector = Union[SingleSelector, Iterable[SingleSelector]] + # These are various alternate names for np.ndarray meant to specify # certain shapes. #