Skip to content

Commit 0702400

Browse files
committed
Improve typing.
1 parent a39ddbe commit 0702400

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+1045
-1042
lines changed

sdl3/SDL_assert.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
from .__init__ import os, inspect, ctypes, typing, abc, re, \
22
SDL_FUNC_TYPE, SDL_POINTER, SDL_FUNC, SDL_TYPE, SDL_BINARY, SDL_ENUM
33

4-
SDL_ASSERT_LEVEL = 2
5-
SDL_NULL_WHILE_LOOP_CONDITION = 0
4+
SDL_ASSERT_LEVEL: int = 2
5+
SDL_NULL_WHILE_LOOP_CONDITION: int = 0
66

77
SDL_AssertState: typing.TypeAlias = SDL_TYPE["SDL_AssertState", SDL_ENUM]
88

@@ -27,10 +27,10 @@ class SDL_AssertData(ctypes.Structure):
2727
SDL_TriggerBreakpoint: abc.Callable[[], None] = lambda: breakpoint()
2828
SDL_AssertBreakpoint: abc.Callable[[], None] = lambda: SDL_TriggerBreakpoint()
2929

30-
def SDL_disabled_assert(condition: ctypes.c_bool) -> None:
30+
def SDL_disabled_assert(condition: bool) -> None:
3131
"""Do not call this function directly."""
3232

33-
def SDL_enabled_assert(condition: ctypes.c_bool) -> None:
33+
def SDL_enabled_assert(condition: bool) -> None:
3434
"""Do not call this function directly."""
3535

3636
while not condition:

sdl3/SDL_audio.py

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,25 +5,25 @@
55
from .SDL_properties import SDL_PropertiesID
66
from .SDL_iostream import SDL_IOStream
77

8-
SDL_AUDIO_MASK_BITSIZE = 0xFF
9-
SDL_AUDIO_MASK_FLOAT = 1 << 8
10-
SDL_AUDIO_MASK_BIG_ENDIAN = 1 << 12
11-
SDL_AUDIO_MASK_SIGNED = 1 << 15
8+
SDL_AUDIO_MASK_BITSIZE: int = 0xFF
9+
SDL_AUDIO_MASK_FLOAT: int = 1 << 8
10+
SDL_AUDIO_MASK_BIG_ENDIAN: int = 1 << 12
11+
SDL_AUDIO_MASK_SIGNED: int = 1 << 15
1212

1313
SDL_DEFINE_AUDIO_FORMAT: abc.Callable[[int, int, int, int], int] = lambda signed, bigendian, _float, size: \
1414
(signed << 15) | (bigendian << 12) | (_float << 8) | (size & SDL_AUDIO_MASK_BITSIZE)
1515

1616
SDL_AudioFormat: typing.TypeAlias = SDL_TYPE["SDL_AudioFormat", SDL_ENUM]
1717

18-
SDL_AUDIO_UNKNOWN = 0x0000
19-
SDL_AUDIO_U8 = 0x0008
20-
SDL_AUDIO_S8 = 0x8008
21-
SDL_AUDIO_S16LE = 0x8010
22-
SDL_AUDIO_S16BE = 0x9010
23-
SDL_AUDIO_S32LE = 0x8020
24-
SDL_AUDIO_S32BE = 0x9020
25-
SDL_AUDIO_F32LE = 0x8120
26-
SDL_AUDIO_F32BE = 0x9120
18+
SDL_AUDIO_UNKNOWN: int = 0x0000
19+
SDL_AUDIO_U8: int = 0x0008
20+
SDL_AUDIO_S8: int = 0x8008
21+
SDL_AUDIO_S16LE: int = 0x8010
22+
SDL_AUDIO_S16BE: int = 0x9010
23+
SDL_AUDIO_S32LE: int = 0x8020
24+
SDL_AUDIO_S32BE: int = 0x9020
25+
SDL_AUDIO_F32LE: int = 0x8120
26+
SDL_AUDIO_F32BE: int = 0x9120
2727

2828
if SDL_BYTEORDER == SDL_LIL_ENDIAN:
2929
SDL_AUDIO_S16, SDL_AUDIO_S32, SDL_AUDIO_F32 = SDL_AUDIO_S16LE, SDL_AUDIO_S32LE, SDL_AUDIO_F32LE
@@ -43,8 +43,8 @@
4343

4444
SDL_AudioDeviceID: typing.TypeAlias = SDL_TYPE["SDL_AudioDeviceID", ctypes.c_uint32]
4545

46-
SDL_AUDIO_DEVICE_DEFAULT_PLAYBACK = 0xFFFFFFFF
47-
SDL_AUDIO_DEVICE_DEFAULT_RECORDING = 0xFFFFFFFE
46+
SDL_AUDIO_DEVICE_DEFAULT_PLAYBACK: int = 0xFFFFFFFF
47+
SDL_AUDIO_DEVICE_DEFAULT_RECORDING: int = 0xFFFFFFFE
4848

4949
class SDL_AudioSpec(ctypes.Structure):
5050
_fields_ = [

sdl3/SDL_bits.py

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,18 @@
1-
from .__init__ import ctypes
1+
from .__init__ import *
22

3-
def SDL_HasExactlyOneBitSet32(x: ctypes.c_uint32) -> ctypes.c_bool:
4-
if x and not (x & (x - 1)): return ctypes.c_bool(True)
5-
else: return ctypes.c_bool(False)
3+
def SDL_MostSignificantBitIndex32(x: int) -> int:
4+
if x == 0: return -1
5+
b: list[int] = [0x2, 0xC, 0xF0, 0xFF00, 0xFFFF0000]
6+
S: list[int] = [1, 2, 4, 8, 16]
7+
msbIndex: int = 0
8+
9+
for i in range(4, -1, -1):
10+
if x & b[i]:
11+
x >>= S[i]
12+
msbIndex |= S[i]
13+
14+
return msbIndex
15+
16+
def SDL_HasExactlyOneBitSet32(x: int) -> bool:
17+
if x and not (x & (x - 1)): return True
18+
else: return False

sdl3/SDL_blendmode.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@
33

44
SDL_BlendMode: typing.TypeAlias = SDL_TYPE["SDL_BlendMode", ctypes.c_uint32]
55

6-
SDL_BLENDMODE_NONE = 0x00000000
7-
SDL_BLENDMODE_BLEND = 0x00000001
8-
SDL_BLENDMODE_BLEND_PREMULTIPLIED = 0x00000010
9-
SDL_BLENDMODE_ADD = 0x00000002
10-
SDL_BLENDMODE_ADD_PREMULTIPLIED = 0x00000020
11-
SDL_BLENDMODE_MOD = 0x00000004
12-
SDL_BLENDMODE_MUL = 0x00000008
13-
SDL_BLENDMODE_INVALID = 0x7FFFFFFF
6+
SDL_BLENDMODE_NONE: int = 0x00000000
7+
SDL_BLENDMODE_BLEND: int = 0x00000001
8+
SDL_BLENDMODE_BLEND_PREMULTIPLIED: int = 0x00000010
9+
SDL_BLENDMODE_ADD: int = 0x00000002
10+
SDL_BLENDMODE_ADD_PREMULTIPLIED: int = 0x00000020
11+
SDL_BLENDMODE_MOD: int = 0x00000004
12+
SDL_BLENDMODE_MUL: int = 0x00000008
13+
SDL_BLENDMODE_INVALID: int = 0x7FFFFFFF
1414

1515
SDL_BlendOperation: typing.TypeAlias = SDL_TYPE["SDL_BlendOperation", SDL_ENUM]
1616

sdl3/SDL_cpuinfo.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from .__init__ import ctypes, typing, abc, SDL_FUNC, SDL_BINARY
22

3-
SDL_CACHELINE_SIZE = 128
3+
SDL_CACHELINE_SIZE: int = 128
44

55
SDL_GetNumLogicalCPUCores: abc.Callable[..., typing.Any] = SDL_FUNC["SDL_GetNumLogicalCPUCores", ctypes.c_int, [], SDL_BINARY]
66
SDL_GetCPUCacheLineSize: abc.Callable[..., typing.Any] = SDL_FUNC["SDL_GetCPUCacheLineSize", ctypes.c_int, [], SDL_BINARY]

sdl3/SDL_dialog.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@ class SDL_DialogFileFilter(ctypes.Structure):
2222

2323
SDL_ShowFileDialogWithProperties: abc.Callable[..., typing.Any] = SDL_FUNC["SDL_ShowFileDialogWithProperties", None, [SDL_FileDialogType, SDL_DialogFileCallback, ctypes.c_void_p, SDL_PropertiesID], SDL_BINARY]
2424

25-
SDL_PROP_FILE_DIALOG_FILTERS_POINTER = "SDL.filedialog.filters".encode()
26-
SDL_PROP_FILE_DIALOG_NFILTERS_NUMBER = "SDL.filedialog.nfilters".encode()
27-
SDL_PROP_FILE_DIALOG_WINDOW_POINTER = "SDL.filedialog.window".encode()
28-
SDL_PROP_FILE_DIALOG_LOCATION_STRING = "SDL.filedialog.location".encode()
29-
SDL_PROP_FILE_DIALOG_MANY_BOOLEAN = "SDL.filedialog.many".encode()
30-
SDL_PROP_FILE_DIALOG_TITLE_STRING = "SDL.filedialog.title".encode()
31-
SDL_PROP_FILE_DIALOG_ACCEPT_STRING = "SDL.filedialog.accept".encode()
32-
SDL_PROP_FILE_DIALOG_CANCEL_STRING = "SDL.filedialog.cancel".encode()
25+
SDL_PROP_FILE_DIALOG_FILTERS_POINTER: bytes = "SDL.filedialog.filters".encode()
26+
SDL_PROP_FILE_DIALOG_NFILTERS_NUMBER: bytes = "SDL.filedialog.nfilters".encode()
27+
SDL_PROP_FILE_DIALOG_WINDOW_POINTER: bytes = "SDL.filedialog.window".encode()
28+
SDL_PROP_FILE_DIALOG_LOCATION_STRING: bytes = "SDL.filedialog.location".encode()
29+
SDL_PROP_FILE_DIALOG_MANY_BOOLEAN: bytes = "SDL.filedialog.many".encode()
30+
SDL_PROP_FILE_DIALOG_TITLE_STRING: bytes = "SDL.filedialog.title".encode()
31+
SDL_PROP_FILE_DIALOG_ACCEPT_STRING: bytes = "SDL.filedialog.accept".encode()
32+
SDL_PROP_FILE_DIALOG_CANCEL_STRING: bytes = "SDL.filedialog.cancel".encode()

sdl3/SDL_endian.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
from .__init__ import sys, array
22

33
SDL_LIL_ENDIAN, SDL_BIG_ENDIAN = 1234, 4321
4-
SDL_BYTEORDER = SDL_LIL_ENDIAN \
5-
if sys.byteorder == "little" else SDL_BIG_ENDIAN
4+
SDL_BYTEORDER: int = {"little": SDL_LIL_ENDIAN, "big": SDL_BIG_ENDIAN}[sys.byteorder]
65

76
def SDL_Swap16(x: int) -> int:
87
return ((x << 8) & 0xFF00) | ((x >> 8) & 0x00FF)

sdl3/SDL_error.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,4 @@ def SDL_Unsupported() -> ctypes.c_int:
1010
return SDL_SetError("That operation is not supported".encode())
1111

1212
def SDL_InvalidParamError(param: ctypes.c_char_p) -> ctypes.c_int:
13-
if isinstance(param, bytes): param = param.decode()
14-
return SDL_SetError(f"Parameter '{param}' is invalid".encode())
13+
return SDL_SetError("Parameter '%s' is invalid".encode(), param)

sdl3/SDL_events.py

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,14 @@
1616

1717
SDL_EventType: typing.TypeAlias = SDL_TYPE["SDL_EventType", SDL_ENUM]
1818

19-
SDL_EVENT_FIRST = 0x0
19+
SDL_EVENT_FIRST: int = 0x0
2020

2121
SDL_EVENT_QUIT, SDL_EVENT_TERMINATING, SDL_EVENT_LOW_MEMORY, SDL_EVENT_WILL_ENTER_BACKGROUND, \
2222
SDL_EVENT_DID_ENTER_BACKGROUND, SDL_EVENT_WILL_ENTER_FOREGROUND, SDL_EVENT_DID_ENTER_FOREGROUND, \
23-
SDL_EVENT_LOCALE_CHANGED, SDL_EVENT_SYSTEM_THEME_CHANGED = range(_ := 0x100, _ + 9)
23+
SDL_EVENT_LOCALE_CHANGED, SDL_EVENT_SYSTEM_THEME_CHANGED = range(0x100, 0x109)
2424

2525
SDL_EVENT_DISPLAY_ORIENTATION, SDL_EVENT_DISPLAY_ADDED, SDL_EVENT_DISPLAY_REMOVED, SDL_EVENT_DISPLAY_MOVED, \
26-
SDL_EVENT_DISPLAY_DESKTOP_MODE_CHANGED, SDL_EVENT_DISPLAY_CURRENT_MODE_CHANGED, SDL_EVENT_DISPLAY_CONTENT_SCALE_CHANGED = range(_ := 0x151, _ + 7)
26+
SDL_EVENT_DISPLAY_DESKTOP_MODE_CHANGED, SDL_EVENT_DISPLAY_CURRENT_MODE_CHANGED, SDL_EVENT_DISPLAY_CONTENT_SCALE_CHANGED = range(0x151, 0x158)
2727

2828
SDL_EVENT_DISPLAY_FIRST, SDL_EVENT_DISPLAY_LAST = \
2929
SDL_EVENT_DISPLAY_ORIENTATION, SDL_EVENT_DISPLAY_CONTENT_SCALE_CHANGED
@@ -33,53 +33,53 @@
3333
SDL_EVENT_WINDOW_RESTORED, SDL_EVENT_WINDOW_MOUSE_ENTER, SDL_EVENT_WINDOW_MOUSE_LEAVE, SDL_EVENT_WINDOW_FOCUS_GAINED, SDL_EVENT_WINDOW_FOCUS_LOST, \
3434
SDL_EVENT_WINDOW_CLOSE_REQUESTED, SDL_EVENT_WINDOW_HIT_TEST, SDL_EVENT_WINDOW_ICCPROF_CHANGED, SDL_EVENT_WINDOW_DISPLAY_CHANGED, SDL_EVENT_WINDOW_DISPLAY_SCALE_CHANGED, \
3535
SDL_EVENT_WINDOW_SAFE_AREA_CHANGED, SDL_EVENT_WINDOW_OCCLUDED, SDL_EVENT_WINDOW_ENTER_FULLSCREEN, SDL_EVENT_WINDOW_LEAVE_FULLSCREEN, \
36-
SDL_EVENT_WINDOW_DESTROYED, SDL_EVENT_WINDOW_HDR_STATE_CHANGED = range(_ := 0x202, _ + 25)
36+
SDL_EVENT_WINDOW_DESTROYED, SDL_EVENT_WINDOW_HDR_STATE_CHANGED = range(0x202, 0x21B)
3737

3838
SDL_EVENT_WINDOW_FIRST, SDL_EVENT_WINDOW_LAST = \
3939
SDL_EVENT_WINDOW_SHOWN, SDL_EVENT_WINDOW_HDR_STATE_CHANGED
4040

4141
SDL_EVENT_KEY_DOWN, SDL_EVENT_KEY_UP, SDL_EVENT_TEXT_EDITING, SDL_EVENT_TEXT_INPUT, SDL_EVENT_KEYMAP_CHANGED, \
42-
SDL_EVENT_KEYBOARD_ADDED, SDL_EVENT_KEYBOARD_REMOVED, SDL_EVENT_TEXT_EDITING_CANDIDATES = range(_ := 0x300, _ + 8)
42+
SDL_EVENT_KEYBOARD_ADDED, SDL_EVENT_KEYBOARD_REMOVED, SDL_EVENT_TEXT_EDITING_CANDIDATES = range(0x300, 0x308)
4343

4444
SDL_EVENT_MOUSE_MOTION, SDL_EVENT_MOUSE_BUTTON_DOWN, SDL_EVENT_MOUSE_BUTTON_UP, \
45-
SDL_EVENT_MOUSE_WHEEL, SDL_EVENT_MOUSE_ADDED, SDL_EVENT_MOUSE_REMOVED = range(_ := 0x400, _ + 6)
45+
SDL_EVENT_MOUSE_WHEEL, SDL_EVENT_MOUSE_ADDED, SDL_EVENT_MOUSE_REMOVED = range(0x400, 0x406)
4646

4747
SDL_EVENT_JOYSTICK_AXIS_MOTION, SDL_EVENT_JOYSTICK_BALL_MOTION, SDL_EVENT_JOYSTICK_HAT_MOTION, SDL_EVENT_JOYSTICK_BUTTON_DOWN, SDL_EVENT_JOYSTICK_BUTTON_UP, \
48-
SDL_EVENT_JOYSTICK_ADDED, SDL_EVENT_JOYSTICK_REMOVED, SDL_EVENT_JOYSTICK_BATTERY_UPDATED, SDL_EVENT_JOYSTICK_UPDATE_COMPLETE = range(_ := 0x600, _ + 9)
48+
SDL_EVENT_JOYSTICK_ADDED, SDL_EVENT_JOYSTICK_REMOVED, SDL_EVENT_JOYSTICK_BATTERY_UPDATED, SDL_EVENT_JOYSTICK_UPDATE_COMPLETE = range(0x600, 0x609)
4949

5050
SDL_EVENT_GAMEPAD_AXIS_MOTION, SDL_EVENT_GAMEPAD_BUTTON_DOWN, SDL_EVENT_GAMEPAD_BUTTON_UP, SDL_EVENT_GAMEPAD_ADDED, SDL_EVENT_GAMEPAD_REMOVED, \
5151
SDL_EVENT_GAMEPAD_REMAPPED, SDL_EVENT_GAMEPAD_TOUCHPAD_DOWN, SDL_EVENT_GAMEPAD_TOUCHPAD_MOTION, SDL_EVENT_GAMEPAD_TOUCHPAD_UP, SDL_EVENT_GAMEPAD_SENSOR_UPDATE, \
52-
SDL_EVENT_GAMEPAD_UPDATE_COMPLETE, SDL_EVENT_GAMEPAD_STEAM_HANDLE_UPDATED = range(_ := 0x650, _ + 12)
52+
SDL_EVENT_GAMEPAD_UPDATE_COMPLETE, SDL_EVENT_GAMEPAD_STEAM_HANDLE_UPDATED = range(0x650, 0x65C)
5353

5454
SDL_EVENT_FINGER_DOWN, SDL_EVENT_FINGER_UP, SDL_EVENT_FINGER_MOTION, \
55-
SDL_EVENT_FINGER_CANCELED = range(_ := 0x700, _ + 4)
55+
SDL_EVENT_FINGER_CANCELED = range(0x700, 0x704)
5656

57-
SDL_EVENT_CLIPBOARD_UPDATE = 0x900
57+
SDL_EVENT_CLIPBOARD_UPDATE: int = 0x900
5858

5959
SDL_EVENT_DROP_FILE, SDL_EVENT_DROP_TEXT, SDL_EVENT_DROP_BEGIN, \
60-
SDL_EVENT_DROP_COMPLETE, SDL_EVENT_DROP_POSITION = range(_ := 0x1000, _ + 5)
60+
SDL_EVENT_DROP_COMPLETE, SDL_EVENT_DROP_POSITION = range(0x1000, 0x1005)
6161

6262
SDL_EVENT_AUDIO_DEVICE_ADDED, SDL_EVENT_AUDIO_DEVICE_REMOVED, \
63-
SDL_EVENT_AUDIO_DEVICE_FORMAT_CHANGED = range(_ := 0x1100, _ + 3)
63+
SDL_EVENT_AUDIO_DEVICE_FORMAT_CHANGED = range(0x1100, 0x1103)
6464

65-
SDL_EVENT_SENSOR_UPDATE = 0x1200
65+
SDL_EVENT_SENSOR_UPDATE: int = 0x1200
6666

6767
SDL_EVENT_PEN_PROXIMITY_IN, SDL_EVENT_PEN_PROXIMITY_OUT, SDL_EVENT_PEN_DOWN, SDL_EVENT_PEN_UP, SDL_EVENT_PEN_BUTTON_DOWN, \
68-
SDL_EVENT_PEN_BUTTON_UP, SDL_EVENT_PEN_MOTION, SDL_EVENT_PEN_AXIS = range(_ := 0x1300, _ + 8)
68+
SDL_EVENT_PEN_BUTTON_UP, SDL_EVENT_PEN_MOTION, SDL_EVENT_PEN_AXIS = range(0x1300, 0x1308)
6969

7070
SDL_EVENT_CAMERA_DEVICE_ADDED, SDL_EVENT_CAMERA_DEVICE_REMOVED, \
71-
SDL_EVENT_CAMERA_DEVICE_APPROVED, SDL_EVENT_CAMERA_DEVICE_DENIED = range(_ := 0x1400, _ + 4)
71+
SDL_EVENT_CAMERA_DEVICE_APPROVED, SDL_EVENT_CAMERA_DEVICE_DENIED = range(0x1400, 0x1404)
7272

7373
SDL_EVENT_RENDER_TARGETS_RESET, SDL_EVENT_RENDER_DEVICE_RESET, \
74-
SDL_EVENT_RENDER_DEVICE_LOST = range(_ := 0x2000, _ + 3)
74+
SDL_EVENT_RENDER_DEVICE_LOST = range(0x2000, 0x2003)
7575

7676
SDL_EVENT_PRIVATE0, SDL_EVENT_PRIVATE1, SDL_EVENT_PRIVATE2, \
77-
SDL_EVENT_PRIVATE3 = range(_ := 0x4000, _ + 4)
77+
SDL_EVENT_PRIVATE3 = range(0x4000, 0x4004)
7878

79-
SDL_EVENT_POLL_SENTINEL = 0x7F00
80-
SDL_EVENT_USER = 0x8000
81-
SDL_EVENT_LAST = 0xFFFF
82-
SDL_EVENT_ENUM_PADDING = 0x7FFFFFFF
79+
SDL_EVENT_POLL_SENTINEL: int = 0x7F00
80+
SDL_EVENT_USER: int = 0x8000
81+
SDL_EVENT_LAST: int = 0xFFFF
82+
SDL_EVENT_ENUM_PADDING: int = 0x7FFFFFFF
8383

8484
class SDL_CommonEvent(ctypes.Structure):
8585
_fields_ = [

sdl3/SDL_filesystem.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ class SDL_PathInfo(ctypes.Structure):
2828

2929
SDL_GlobFlags: typing.TypeAlias = SDL_TYPE["SDL_GlobFlags", ctypes.c_uint32]
3030

31-
SDL_GLOB_CASEINSENSITIVE = 1 << 0
31+
SDL_GLOB_CASEINSENSITIVE: int = 1 << 0
3232

3333
SDL_CreateDirectory: abc.Callable[..., typing.Any] = SDL_FUNC["SDL_CreateDirectory", ctypes.c_bool, [ctypes.c_char_p], SDL_BINARY]
3434

0 commit comments

Comments
 (0)