Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add sdl2_video types #2664

Merged
merged 4 commits into from Oct 19, 2021
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion buildconfig/pygame-stubs/_sdl2/__init__.pyi
@@ -1 +1 @@

from pygame._sdl2.video import *
164 changes: 164 additions & 0 deletions buildconfig/pygame-stubs/_sdl2/video.pyi
@@ -0,0 +1,164 @@
from _typeshed import NoneType
from typing import Union, Tuple, Iterable, Optional, Any, Generator, List

from pygame.surface import Surface
from pygame.rect import Rect
from pygame.math import Vector2
from pygame.color import Color

_ColorValue = Union[
Color, str, Tuple[int, int, int], List[int], int, Tuple[int, int, int, int]
]

_CanBeRect = Union[
Rect,
Tuple[float, float, float, float],
Tuple[Tuple[float, float], Tuple[float, float]],
List[float],
List[Vector2],
Tuple[Vector2, Vector2],
Iterable[Vector2],
]

WINDOWPOS_UNDEFINED: int
WINDOWPOS_CENTERED: int

MESSAGEBOX_ERROR: int
MESSAGEBOX_WARNING: int
MESSAGEBOX_INFORMATION: int

class RendererDriverInfo:
name: str
flags: int
num_texture_formats: int
max_texture_width: int
max_texture_height: int

def get_drivers() -> Generator[RendererDriverInfo, None, None]: ...
def get_grabbed_window() -> Optional[Window]: ...
def messagebox(
title: str,
message: str,
window: Optional[Window] = None,
info: bool = False,
warn: bool = False,
error: bool = False,
buttons: Tuple[str, ...] = ("OK",),
return_button: int = 0,
escape_button: int = 0,
) -> int: ...

class Window:
def __init__(
self,
title: str = "pygame",
size: Iterable[int, int] = (640, 480),
position: Optional[Iterable[int, int]] = None,
fullscreen: bool = False,
fullscreen_desktop=False,
**kwargs: Any
) -> None: ...
grab: bool
relative_mouse: bool
def set_windowed(self) -> None: ...
def set_fullscreen(self, desktop: bool = False) -> None: ...
title: str
def destroy(self) -> None: ...
def hide(self) -> None: ...
def show(self) -> None: ...
def focus(self, input_only: bool = False) -> None: ...
def restore(self) -> None: ...
def maximize(self) -> None: ...
def minimize(self) -> None: ...
resizable: bool
borderless: bool
def set_icon(self, surface: Surface) -> None: ...
id: int
size: Iterable[int, int]
position: Union[int, Iterable[int, int]]
opacity: float
brightness: float
display_index: int
def set_modal_for(Window) -> None: ...

class Texture:
def __init__(
self,
renderer: Renderer,
size: Iterable[int, int],
static: bool = False,
streaming: bool = False,
target: bool = False,
) -> None: ...
def from_surface(renderer: Renderer, surface: Surface) -> Texture: ...
renderer: Renderer
width: int
height: int
alpha: int
blend_mode: int
color: Color
def get_rect(self, **kwargs: Any) -> Rect: ...
def draw(
self,
srcrect: Optional[_CanBeRect] = None,
dstrect: Optional[Union[_CanBeRect, Iterable[int, int]]] = None,
angle: int = 0,
origin: Optional[Iterable[int, int]] = None,
flipX: bool = False,
flipY: bool = False,
) -> None: ...
def update(self, surface: Surface, area: Optional[_CanBeRect] = None) -> None: ...

class Image:
def __init__(
self,
textureOrImage: Union[Texture, Image],
srcrect: Optional[_CanBeRect] = None,
) -> None: ...
def get_rect(self, **kwargs: Any) -> Rect: ...
def draw(
srcrect: Optional[_CanBeRect] = None, dstrect: Optional[_CanBeRect] = None
) -> None: ...
angle: float
origin: Optional[Iterable[float, float]]
flipX: bool
flipY: bool
color: Color
alpha: float
blend_mode: int
texture: Texture
srcrect: Rect

class Renderer:
def __init__(
self,
window: Window,
index: int = -1,
accelerated: int = -1,
vsync: bool = False,
target_texture: bool = False,
) -> None: ...
def from_window(window: Window) -> Renderer: ...
draw_blend_mode: int
draw_color: Color
def clear(self) -> None: ...
def present(self) -> None: ...
def get_viewport(self) -> Rect: ...
def set_viewport(self, area: Optional[_CanBeRect]) -> None: ...
logical_size: Iterable[int, int]
scale: Iterable[float, float]
target: Union[Texture, None]
def blit(
self,
source: Union[Texture, Image],
dest: Optional[_CanBeRect] = None,
area: Optional[_CanBeRect] = None,
special_flags: int = 0,
) -> Rect: ...
def draw_line(self, p1: Iterable[int, int], p2: Iterable[int, int]) -> None: ...
def draw_point(self, point: Iterable[int, int]) -> None: ...
def draw_rect(self, rect: _CanBeRect) -> None: ...
def fill_rect(self, rect: _CanBeRect) -> None: ...
def to_surface(
self, surface: Optional[Surface] = None, area: Optional[_CanBeRect] = None
) -> Surface: ...
2 changes: 1 addition & 1 deletion docs/reST/ref/sdl2_video.rst
Expand Up @@ -306,7 +306,7 @@
.. method:: blit

| :sl:`For compatibility purposes. Textures created by different Renderers cannot be shared!`
| :sg:`blit(soure, dest, area=None, special_flags=0)-> None`
| :sg:`blit(soure, dest, area=None, special_flags=0)-> Rect`

.. method:: draw_line

Expand Down
4 changes: 2 additions & 2 deletions src_c/doc/sdl2_video_doc.h
Expand Up @@ -58,7 +58,7 @@
#define DOC_RENDERERLOGICALSIZE "logical_size -> (int width, int height)\nGets and sets the logical size."
#define DOC_RENDERERSCALE "scale -> (float x_scale, float y_scale)\nGets and sets the scale."
#define DOC_RENDERERTARGET "target -> Texture or None\nGets and sets the render target. None represents the default target (the renderer)."
#define DOC_RENDERERBLIT "blit(soure, dest, area=None, special_flags=0)-> None\nFor compatibility purposes. Textures created by different Renderers cannot be shared!"
#define DOC_RENDERERBLIT "blit(soure, dest, area=None, special_flags=0)-> Rect\nFor compatibility purposes. Textures created by different Renderers cannot be shared!"
#define DOC_RENDERERDRAWLINE "draw_line(p1, p2) -> None\nDraws a line."
#define DOC_RENDERERDRAWPOINT "draw_point(point) -> None\nDraws a point."
#define DOC_RENDERERDRAWRECT "draw_rect(rect)-> None\nDraws a rectangle."
Expand Down Expand Up @@ -306,7 +306,7 @@ pygame._sdl2.video.Renderer.target
Gets and sets the render target. None represents the default target (the renderer).

pygame._sdl2.video.Renderer.blit
blit(soure, dest, area=None, special_flags=0)-> None
blit(soure, dest, area=None, special_flags=0)-> Rect
For compatibility purposes. Textures created by different Renderers cannot be shared!

pygame._sdl2.video.Renderer.draw_line
Expand Down