Skip to content

Commit

Permalink
Mark old xType aliases as deprecated (#3288)
Browse files Browse the repository at this point in the history
* Mark old xType aliases as deprecated

Doesn't touch JoystickType because the C code still works the old way I think, doesn't touch CameraType because CameraType is not in the stubs. In fact CameraType might be removable as an internal implementation detail.

* Mark old types deprecated: don't duplicate event

* Mark old types deprecated: clearer wording
  • Loading branch information
Starbuck5 authored Jan 28, 2025
1 parent b6d2987 commit d4c3eae
Show file tree
Hide file tree
Showing 6 changed files with 34 additions and 11 deletions.
18 changes: 14 additions & 4 deletions buildconfig/stubs/pygame/event.pyi
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
from typing import Any, Optional, Union, final
from typing_extensions import deprecated # added in 3.13

from pygame.typing import SequenceLike

@final
class Event:
class _GenericEvent:
# Just exists to avoid duplication of data for Event
# and (deprecated) EventType

@property
def type(self) -> int: ...
__dict__: dict[str, Any]
Expand All @@ -21,6 +24,15 @@ class Event:
@property
def dict(self) -> dict[str, Any]: ...

@final
class Event(_GenericEvent):
pass

@final
@deprecated("Use `Event` instead (EventType is an old alias)")
class EventType(_GenericEvent):
pass

_EventTypes = Union[int, SequenceLike[int]]

def pump() -> None: ...
Expand All @@ -41,5 +53,3 @@ def set_grab(grab: bool, /) -> None: ...
def get_grab() -> bool: ...
def post(event: Event, /) -> bool: ...
def custom_type() -> int: ...

EventType = Event
4 changes: 3 additions & 1 deletion buildconfig/stubs/pygame/font.pyi
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from collections.abc import Callable, Hashable, Iterable
from typing import Literal, Optional, Union
from typing_extensions import deprecated # added in 3.13

from pygame.surface import Surface

Expand Down Expand Up @@ -87,4 +88,5 @@ class Font:
def get_point_size(self) -> int: ...
def set_point_size(self, val: int, /) -> None: ...

FontType = Font
@deprecated("Use `Font` instead (FontType is an old alias)")
class FontType(Font): ...
4 changes: 3 additions & 1 deletion buildconfig/stubs/pygame/mask.pyi
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
from typing import Any, Optional, Union
from typing_extensions import deprecated # added in 3.13

from pygame.rect import Rect
from pygame.surface import Surface
Expand Down Expand Up @@ -54,4 +55,5 @@ class Mask:
dest: Union[RectLike, Point] = (0, 0),
) -> Surface: ...

MaskType = Mask
@deprecated("Use `Mask` instead (MaskType is an old alias)")
class MaskType(Mask): ...
8 changes: 6 additions & 2 deletions buildconfig/stubs/pygame/mixer.pyi
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
from typing import Any, Optional, Union, overload
from typing_extensions import deprecated # added in 3.13

import numpy

Expand Down Expand Up @@ -100,5 +101,8 @@ class Channel:
def set_endevent(self, type: Union[int, Event] = 0, /) -> None: ...
def get_endevent(self) -> int: ...

SoundType = Sound
ChannelType = Channel
@deprecated("Use `Sound` instead (SoundType is an old alias)")
class SoundType(Sound): ...

@deprecated("Use `Channel` instead (ChannelType is an old alias)")
class ChannelType(Channel): ...
8 changes: 6 additions & 2 deletions buildconfig/stubs/pygame/rect.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ from typing import (
overload,
Optional,
)
from typing_extensions import deprecated # added in 3.13

from pygame.typing import Point, RectLike, SequenceLike

Expand Down Expand Up @@ -285,5 +286,8 @@ class Rect(_GenericRect[int]):
class FRect(_GenericRect[float]):
...

RectType = Rect
FRectType = FRect
@deprecated("Use `Rect` instead (RectType is an old alias)")
class RectType(Rect): ...

@deprecated("Use `FRect` instead (FRectType is an old alias)")
class FRectType(FRect): ...
3 changes: 2 additions & 1 deletion buildconfig/stubs/pygame/surface.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -168,4 +168,5 @@ class Surface:
def premul_alpha(self) -> Surface: ...
def premul_alpha_ip(self) -> Surface: ...

SurfaceType = Surface
@deprecated("Use `Surface` instead (SurfaceType is an old alias)")
class SurfaceType(Surface): ...

0 comments on commit d4c3eae

Please sign in to comment.