Skip to content

Commit 956a0b6

Browse files
authored
Window type hint clean up. (#2366)
* use `@property` instead of attribute * remove duplication of Window stubs * update window stub * Fix _window.pyi use `@property` for `id` and `display_index` `Tuple[int]` -> `Tuple[int, int]` run black
1 parent b8b89d3 commit 956a0b6

File tree

2 files changed

+21
-45
lines changed

2 files changed

+21
-45
lines changed

buildconfig/stubs/pygame/_sdl2/video.pyi

Lines changed: 1 addition & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -38,42 +38,7 @@ def messagebox(
3838
escape_button: int = 0,
3939
) -> int: ...
4040

41-
@final
42-
class Window:
43-
DEFAULT_SIZE: Tuple[Literal[640], Literal[480]]
44-
def __init__(
45-
self,
46-
title: str = "pygame window",
47-
size: Iterable[int] = (640, 480),
48-
position: Optional[Iterable[int]] = None,
49-
fullscreen: bool = False,
50-
fullscreen_desktop: bool = False,
51-
**kwargs: bool
52-
) -> None: ...
53-
@classmethod
54-
def from_display_module(cls) -> Window: ...
55-
grab: bool
56-
relative_mouse: bool
57-
def set_windowed(self) -> None: ...
58-
def set_fullscreen(self, desktop: bool = False) -> None: ...
59-
title: str
60-
def destroy(self) -> None: ...
61-
def hide(self) -> None: ...
62-
def show(self) -> None: ...
63-
def focus(self, input_only: bool = False) -> None: ...
64-
def restore(self) -> None: ...
65-
def maximize(self) -> None: ...
66-
def minimize(self) -> None: ...
67-
resizable: bool
68-
borderless: bool
69-
always_on_top: bool
70-
def set_icon(self, surface: Surface) -> None: ...
71-
id: int
72-
size: Iterable[int]
73-
position: Union[int, Iterable[int]]
74-
opacity: float
75-
display_index: int
76-
def set_modal_for(self, Window) -> None: ...
41+
from pygame._window import Window as Window
7742

7843
_Window = Window
7944

buildconfig/stubs/pygame/_window.pyi

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
1-
from typing import Iterable, Optional, Tuple, Union, final
2-
from pygame.surface import Surface
3-
from ._common import RectValue
1+
from typing import Optional, Tuple, Union, final
2+
3+
from pygame._common import Coordinate
44
from pygame.locals import WINDOWPOS_UNDEFINED
5+
from pygame.surface import Surface
56

67
def get_grabbed_window() -> Optional[Window]: ...
78
@final
89
class Window:
910
def __init__(
1011
self,
1112
title: str = "pygame window",
12-
size: Iterable[int] = (640, 480),
13-
position: Union[int, Iterable[int]] = WINDOWPOS_UNDEFINED,
13+
size: Coordinate = (640, 480),
14+
position: Union[int, Coordinate] = WINDOWPOS_UNDEFINED,
1415
**flags: bool
1516
) -> None: ...
1617
def destroy(self) -> None: ...
@@ -24,16 +25,26 @@ class Window:
2425
def minimize(self) -> None: ...
2526
def set_modal_for(self, parent: Window) -> None: ...
2627
def set_icon(self, icon: Surface) -> None: ...
28+
2729
grab: bool
2830
title: str
2931
resizable: bool
3032
borderless: bool
3133
always_on_top: bool
3234
relative_mouse: bool
33-
id: int
34-
size: Iterable[int]
35-
position: Union[int, Iterable[int]]
3635
opacity: float
37-
display_index: int
36+
37+
@property
38+
def id(self) -> int: ...
39+
@property
40+
def display_index(self) -> int: ...
41+
@property
42+
def size(self) -> Tuple[int, int]: ...
43+
@size.setter
44+
def size(self, value: Coordinate) -> None: ...
45+
@property
46+
def position(self) -> Tuple[int, int]: ...
47+
@position.setter
48+
def position(self, value: Union[int, Coordinate]) -> None: ...
3849
@classmethod
3950
def from_display_module(cls) -> Window: ...

0 commit comments

Comments
 (0)