kraken-engine 1.0.0__cp314-cp314-win_amd64.whl → 1.2.0__cp314-cp314-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {kraken_engine-1.0.0.dist-info → kraken_engine-1.2.0.dist-info}/METADATA +3 -1
- {kraken_engine-1.0.0.dist-info → kraken_engine-1.2.0.dist-info}/RECORD +12 -9
- pykraken/__init__.py +1 -0
- pykraken/__init__.pyi +113 -6
- pykraken/_core/__init__.pyi +771 -227
- pykraken/_core/collision.pyi +283 -0
- pykraken/_core/renderer.pyi +22 -11
- pykraken/_core.cp314-win_amd64.pyd +0 -0
- pykraken/shader_uniform.py +55 -0
- pykraken/shader_uniform.pyi +59 -0
- {kraken_engine-1.0.0.dist-info → kraken_engine-1.2.0.dist-info}/WHEEL +0 -0
- {kraken_engine-1.0.0.dist-info → kraken_engine-1.2.0.dist-info}/licenses/LICENSE +0 -0
pykraken/_core/__init__.pyi
CHANGED
|
@@ -2,6 +2,7 @@ from __future__ import annotations
|
|
|
2
2
|
import collections.abc
|
|
3
3
|
import enum
|
|
4
4
|
import typing
|
|
5
|
+
from . import collision
|
|
5
6
|
from . import color
|
|
6
7
|
from . import draw
|
|
7
8
|
from . import ease
|
|
@@ -17,7 +18,18 @@ from . import renderer
|
|
|
17
18
|
from . import time
|
|
18
19
|
from . import transform
|
|
19
20
|
from . import window
|
|
20
|
-
__all__: list[str] = ['AUDIO_DEVICE_ADDED', 'AUDIO_DEVICE_FORMAT_CHANGED', 'AUDIO_DEVICE_REMOVED', 'Anchor', 'Animation', 'AnimationController', 'Audio', 'AudioStream', 'BOTTOM_LEFT', 'BOTTOM_MID', 'BOTTOM_RIGHT', '
|
|
21
|
+
__all__: list[str] = ['AUDIO_DEVICE_ADDED', 'AUDIO_DEVICE_FORMAT_CHANGED', 'AUDIO_DEVICE_REMOVED', 'Align', 'Anchor', 'Animation', 'AnimationController', 'Audio', 'AudioStream', 'BOTTOM_LEFT', 'BOTTOM_MID', 'BOTTOM_RIGHT', 'CAMERA_DEVICE_ADDED', 'CAMERA_DEVICE_APPROVED', 'CAMERA_DEVICE_DENIED', 'CAMERA_DEVICE_REMOVED', 'CENTER', 'CLIPBOARD_UPDATE', 'C_BACK', 'C_DPAD_DOWN', 'C_DPAD_LEFT', 'C_DPAD_RIGHT', 'C_DPAD_UP', 'C_EAST', 'C_GUIDE', 'C_LSHOULDER', 'C_LSTICK', 'C_LTRIGGER', 'C_LX', 'C_LY', 'C_NORTH', 'C_PS3', 'C_PS4', 'C_PS5', 'C_RSHOULDER', 'C_RSTICK', 'C_RTRIGGER', 'C_RX', 'C_RY', 'C_SOUTH', 'C_STANDARD', 'C_START', 'C_SWITCH_JOYCON_LEFT', 'C_SWITCH_JOYCON_PAIR', 'C_SWITCH_JOYCON_RIGHT', 'C_SWITCH_PRO', 'C_WEST', 'C_XBOX_360', 'C_XBOX_ONE', 'Camera', 'Circle', 'Color', 'DID_ENTER_BACKGROUND', 'DID_ENTER_FOREGROUND', 'DISPLAY_ADDED', 'DISPLAY_CONTENT_SCALE_CHANGED', 'DISPLAY_CURRENT_MODE_CHANGED', 'DISPLAY_DESKTOP_MODE_CHANGED', 'DISPLAY_MOVED', 'DISPLAY_ORIENTATION', 'DISPLAY_REMOVED', 'DROP_BEGIN', 'DROP_COMPLETE', 'DROP_FILE', 'DROP_POSITION', 'DROP_TEXT', 'EasingAnimation', 'Event', 'EventType', 'FINGER_CANCELED', 'FINGER_DOWN', 'FINGER_MOTION', 'FINGER_UP', 'Font', 'FontHint', 'Frame', 'GAMEPAD_ADDED', 'GAMEPAD_AXIS_MOTION', 'GAMEPAD_BUTTON_DOWN', 'GAMEPAD_BUTTON_UP', 'GAMEPAD_REMAPPED', 'GAMEPAD_REMOVED', 'GAMEPAD_SENSOR_UPDATE', 'GAMEPAD_STEAM_HANDLE_UPDATED', 'GAMEPAD_TOUCHPAD_DOWN', 'GAMEPAD_TOUCHPAD_MOTION', 'GAMEPAD_TOUCHPAD_UP', 'GAMEPAD_UPDATE_COMPLETE', 'GamepadAxis', 'GamepadButton', 'GamepadType', 'InputAction', 'KEYBOARD_ADDED', 'KEYBOARD_REMOVED', 'KEYMAP_CHANGED', 'KEY_DOWN', 'KEY_UP', 'K_0', 'K_1', 'K_2', 'K_3', 'K_4', 'K_5', 'K_6', 'K_7', 'K_8', 'K_9', 'K_AGAIN', 'K_AMPERSAND', 'K_APPLICATION', 'K_ASTERISK', 'K_AT', 'K_BACKSLASH', 'K_BACKSPACE', 'K_CALL', 'K_CAPS', 'K_CARET', 'K_CHANNEL_DEC', 'K_CHANNEL_INC', 'K_COLON', 'K_COMMA', 'K_COPY', 'K_CUT', 'K_DBLQUOTE', 'K_DEL', 'K_DOLLAR', 'K_DOWN', 'K_END', 'K_ENDCALL', 'K_EQ', 'K_ESC', 'K_EXCLAIM', 'K_EXECUTE', 'K_F1', 'K_F10', 'K_F11', 'K_F12', 'K_F13', 'K_F14', 'K_F15', 'K_F2', 'K_F3', 'K_F4', 'K_F5', 'K_F6', 'K_F7', 'K_F8', 'K_F9', 'K_FIND', 'K_GRAVE', 'K_GT', 'K_HASH', 'K_HELP', 'K_HOME', 'K_INS', 'K_KP_0', 'K_KP_1', 'K_KP_2', 'K_KP_3', 'K_KP_4', 'K_KP_5', 'K_KP_6', 'K_KP_7', 'K_KP_8', 'K_KP_9', 'K_KP_DIV', 'K_KP_ENTER', 'K_KP_MINUS', 'K_KP_MULT', 'K_KP_PERIOD', 'K_KP_PLUS', 'K_LALT', 'K_LBRACE', 'K_LBRACKET', 'K_LCTRL', 'K_LEFT', 'K_LGUI', 'K_LPAREN', 'K_LSHIFT', 'K_LT', 'K_MEDIA_EJECT', 'K_MEDIA_FF', 'K_MEDIA_NEXT', 'K_MEDIA_PAUSE', 'K_MEDIA_PLAY', 'K_MEDIA_PLAY_PAUSE', 'K_MEDIA_PREV', 'K_MEDIA_REC', 'K_MEDIA_REWIND', 'K_MEDIA_SELECT', 'K_MEDIA_STOP', 'K_MENU', 'K_MINUS', 'K_MODE', 'K_MUTE', 'K_NUMLOCK', 'K_PASTE', 'K_PAUSE', 'K_PERCENT', 'K_PERIOD', 'K_PGDOWN', 'K_PGUP', 'K_PIPE', 'K_PLUS', 'K_POWER', 'K_PRTSCR', 'K_QUESTION', 'K_RALT', 'K_RBRACE', 'K_RBRACKET', 'K_RCTRL', 'K_RETURN', 'K_RGUI', 'K_RIGHT', 'K_RPAREN', 'K_RSHIFT', 'K_SCRLK', 'K_SELECT', 'K_SEMICOLON', 'K_SGLQUOTE', 'K_SLASH', 'K_SLEEP', 'K_SOFTLEFT', 'K_SOFTRIGHT', 'K_SPACE', 'K_STOP', 'K_TAB', 'K_TILDE', 'K_UNDERSCORE', 'K_UNDO', 'K_UNKNOWN', 'K_UP', 'K_VOLDOWN', 'K_VOLUP', 'K_WAKE', 'K_a', 'K_b', 'K_c', 'K_d', 'K_e', 'K_f', 'K_g', 'K_h', 'K_i', 'K_j', 'K_k', 'K_l', 'K_m', 'K_n', 'K_o', 'K_p', 'K_q', 'K_r', 'K_s', 'K_t', 'K_u', 'K_v', 'K_w', 'K_x', 'K_y', 'K_z', 'Keycode', 'LOCALE_CHANGED', 'LOW_MEMORY', 'Line', 'MID_LEFT', 'MID_RIGHT', 'MOUSE_ADDED', 'MOUSE_BUTTON_DOWN', 'MOUSE_BUTTON_UP', 'MOUSE_MOTION', 'MOUSE_REMOVED', 'MOUSE_WHEEL', 'M_LEFT', 'M_MIDDLE', 'M_RIGHT', 'M_SIDE1', 'M_SIDE2', 'Mask', 'MouseButton', 'PEN_AXIS', 'PEN_BUTTON_DOWN', 'PEN_BUTTON_UP', 'PEN_DOWN', 'PEN_MOTION', 'PEN_PROXIMITY_IN', 'PEN_PROXIMITY_OUT', 'PEN_UP', 'P_DISTANCE', 'P_PRESSURE', 'P_ROTATION', 'P_SLIDER', 'P_TANGENTIAL_PRESSURE', 'P_TILT_X', 'P_TILT_Y', 'PenAxis', 'PixelArray', 'PolarCoordinate', 'Polygon', 'QUIT', 'RENDER_DEVICE_LOST', 'RENDER_DEVICE_RESET', 'RENDER_TARGETS_RESET', 'Rect', 'SENSOR_UPDATE', 'SYSTEM_THEME_CHANGED', 'S_0', 'S_1', 'S_2', 'S_3', 'S_4', 'S_5', 'S_6', 'S_7', 'S_8', 'S_9', 'S_AGAIN', 'S_APOSTROPHE', 'S_APPLICATION', 'S_BACKSLASH', 'S_BACKSPACE', 'S_CALL', 'S_CAPS', 'S_CHANNEL_DEC', 'S_CHANNEL_INC', 'S_COMMA', 'S_COPY', 'S_CUT', 'S_DEL', 'S_DOWN', 'S_END', 'S_ENDCALL', 'S_EQ', 'S_ESC', 'S_EXECUTE', 'S_F1', 'S_F10', 'S_F11', 'S_F12', 'S_F13', 'S_F14', 'S_F15', 'S_F2', 'S_F3', 'S_F4', 'S_F5', 'S_F6', 'S_F7', 'S_F8', 'S_F9', 'S_FIND', 'S_GRAVE', 'S_HELP', 'S_HOME', 'S_INS', 'S_KP_0', 'S_KP_1', 'S_KP_2', 'S_KP_3', 'S_KP_4', 'S_KP_5', 'S_KP_6', 'S_KP_7', 'S_KP_8', 'S_KP_9', 'S_KP_DIV', 'S_KP_ENTER', 'S_KP_MINUS', 'S_KP_MULT', 'S_KP_PERIOD', 'S_KP_PLUS', 'S_LALT', 'S_LBRACKET', 'S_LCTRL', 'S_LEFT', 'S_LGUI', 'S_LSHIFT', 'S_MEDIA_EJECT', 'S_MEDIA_FAST_FORWARD', 'S_MEDIA_NEXT', 'S_MEDIA_PAUSE', 'S_MEDIA_PLAY', 'S_MEDIA_PLAY_PAUSE', 'S_MEDIA_PREV', 'S_MEDIA_REC', 'S_MEDIA_REWIND', 'S_MEDIA_SELECT', 'S_MEDIA_STOP', 'S_MENU', 'S_MINUS', 'S_MODE', 'S_MUTE', 'S_NUMLOCK', 'S_PASTE', 'S_PAUSE', 'S_PERIOD', 'S_PGDOWN', 'S_PGUP', 'S_POWER', 'S_PRTSCR', 'S_RALT', 'S_RBRACKET', 'S_RCTRL', 'S_RETURN', 'S_RGUI', 'S_RIGHT', 'S_RSHIFT', 'S_SCRLK', 'S_SELECT', 'S_SEMICOLON', 'S_SLASH', 'S_SLEEP', 'S_SOFTLEFT', 'S_SOFTRIGHT', 'S_SPACE', 'S_STOP', 'S_TAB', 'S_UNDO', 'S_UP', 'S_VOLDOWN', 'S_VOLUP', 'S_WAKE', 'S_a', 'S_b', 'S_c', 'S_d', 'S_e', 'S_f', 'S_g', 'S_h', 'S_i', 'S_j', 'S_k', 'S_l', 'S_m', 'S_n', 'S_o', 'S_p', 'S_q', 'S_r', 'S_s', 'S_t', 'S_u', 'S_v', 'S_w', 'S_x', 'S_y', 'S_z', 'Scancode', 'ShaderState', 'SheetStrip', 'TERMINATING', 'TEXT_EDITING', 'TEXT_EDITING_CANDIDATES', 'TEXT_INPUT', 'TOP_LEFT', 'TOP_MID', 'TOP_RIGHT', 'Text', 'Texture', 'Tile', 'TileLayer', 'TileMap', 'Timer', 'Vec2', 'WILL_ENTER_BACKGROUND', 'WILL_ENTER_FOREGROUND', 'WINDOW_CLOSE_REQUESTED', 'WINDOW_DESTROYED', 'WINDOW_DISPLAY_CHANGED', 'WINDOW_DISPLAY_SCALE_CHANGED', 'WINDOW_ENTER_FULLSCREEN', 'WINDOW_EXPOSED', 'WINDOW_FOCUS_GAINED', 'WINDOW_FOCUS_LOST', 'WINDOW_HDR_STATE_CHANGED', 'WINDOW_HIDDEN', 'WINDOW_HIT_TEST', 'WINDOW_ICCPROF_CHANGED', 'WINDOW_LEAVE_FULLSCREEN', 'WINDOW_MAXIMIZED', 'WINDOW_MINIMIZED', 'WINDOW_MOUSE_ENTER', 'WINDOW_MOUSE_LEAVE', 'WINDOW_MOVED', 'WINDOW_OCCLUDED', 'WINDOW_RESIZED', 'WINDOW_RESTORED', 'WINDOW_SAFE_AREA_CHANGED', 'WINDOW_SHOWN', 'collision', 'color', 'draw', 'ease', 'event', 'gamepad', 'init', 'input', 'key', 'line', 'math', 'mouse', 'quit', 'rect', 'renderer', 'time', 'transform', 'window']
|
|
22
|
+
class Align(enum.IntEnum):
|
|
23
|
+
CENTER: typing.ClassVar[Align] # value = <Align.CENTER: 1>
|
|
24
|
+
LEFT: typing.ClassVar[Align] # value = <Align.LEFT: 0>
|
|
25
|
+
RIGHT: typing.ClassVar[Align] # value = <Align.RIGHT: 2>
|
|
26
|
+
@classmethod
|
|
27
|
+
def __new__(cls, value):
|
|
28
|
+
...
|
|
29
|
+
def __format__(self, format_spec):
|
|
30
|
+
"""
|
|
31
|
+
Convert to a string according to format_spec.
|
|
32
|
+
"""
|
|
21
33
|
class Anchor(enum.IntEnum):
|
|
22
34
|
BOTTOM_LEFT: typing.ClassVar[Anchor] # value = <Anchor.BOTTOM_LEFT: 6>
|
|
23
35
|
BOTTOM_MID: typing.ClassVar[Anchor] # value = <Anchor.BOTTOM_MID: 7>
|
|
@@ -75,37 +87,28 @@ class AnimationController:
|
|
|
75
87
|
Returns:
|
|
76
88
|
bool: True if the animation completed a loop during the last update.
|
|
77
89
|
"""
|
|
78
|
-
def
|
|
79
|
-
"""
|
|
80
|
-
Load animation frames from a directory of image files.
|
|
81
|
-
|
|
82
|
-
Loads all valid image files from the specified directory as animation frames.
|
|
83
|
-
Supported formats include PNG, JPG, JPEG, BMP, TGA, and GIF.
|
|
84
|
-
|
|
85
|
-
Args:
|
|
86
|
-
name (str): Unique identifier for the animation.
|
|
87
|
-
dir_path (str): Path to the directory containing image files.
|
|
88
|
-
fps (int): Frames per second for playback timing.
|
|
89
|
-
|
|
90
|
-
Raises:
|
|
91
|
-
RuntimeError: If no valid image files are found in the directory.
|
|
92
|
-
"""
|
|
93
|
-
def load_sprite_sheet(self, name: str, file_path: str, frame_size: Vec2, fps: typing.SupportsInt) -> None:
|
|
90
|
+
def load_sprite_sheet(self, file_path: str, frame_size: Vec2, strips: collections.abc.Sequence[SheetStrip]) -> None:
|
|
94
91
|
"""
|
|
95
|
-
Load
|
|
92
|
+
Load one or more animations from a sprite sheet texture.
|
|
96
93
|
|
|
97
|
-
Divides the sprite sheet into
|
|
98
|
-
|
|
94
|
+
Divides the sprite sheet into horizontal strips, where each strip represents a different
|
|
95
|
+
animation. Each strip is divided into equal-sized frames based on the specified frame size.
|
|
96
|
+
Frames are read left-to-right within each strip, and strips are read top-to-bottom.
|
|
99
97
|
|
|
100
98
|
Args:
|
|
101
|
-
name (str): Unique identifier for the animation.
|
|
102
99
|
file_path (str): Path to the sprite sheet image file.
|
|
103
100
|
frame_size (Vec2): Size of each frame as (width, height).
|
|
104
|
-
|
|
101
|
+
strips (list[SheetStrip]): List of strip definitions, each containing:
|
|
102
|
+
- name (str): Unique identifier for the animation
|
|
103
|
+
- frame_count (int): Number of frames in this strip/animation
|
|
104
|
+
- fps (int): Frames per second for playback timing
|
|
105
105
|
|
|
106
106
|
Raises:
|
|
107
|
-
|
|
108
|
-
|
|
107
|
+
ValueError: If frame size is not positive, no strips provided, frame count is not
|
|
108
|
+
positive, or frame count exceeds sprite sheet width.
|
|
109
|
+
RuntimeError: If controller already has animations loaded, sprite sheet dimensions
|
|
110
|
+
are not divisible by frame dimensions, duplicate animation names exist,
|
|
111
|
+
or strip index exceeds sprite sheet height.
|
|
109
112
|
"""
|
|
110
113
|
def pause(self) -> None:
|
|
111
114
|
"""
|
|
@@ -113,16 +116,30 @@ class AnimationController:
|
|
|
113
116
|
|
|
114
117
|
Stops animation frame advancement while preserving the current frame position.
|
|
115
118
|
"""
|
|
116
|
-
def
|
|
119
|
+
def play(self, name: str) -> None:
|
|
117
120
|
"""
|
|
118
|
-
|
|
121
|
+
Play an animation from the beginning.
|
|
122
|
+
|
|
123
|
+
Switches to the specified animation, rewinds it to frame 0, and starts playback.
|
|
119
124
|
|
|
120
125
|
Args:
|
|
121
|
-
name (str): The name of the animation to
|
|
126
|
+
name (str): The name of the animation to play.
|
|
122
127
|
|
|
123
|
-
|
|
124
|
-
If the
|
|
125
|
-
|
|
128
|
+
Raises:
|
|
129
|
+
ValueError: If the specified animation name is not found.
|
|
130
|
+
"""
|
|
131
|
+
def play_from(self, frame_index: typing.SupportsInt) -> None:
|
|
132
|
+
"""
|
|
133
|
+
Start playing the current animation from a specific frame.
|
|
134
|
+
|
|
135
|
+
Sets the animation to the specified frame index and resumes playback. Useful for
|
|
136
|
+
starting animations mid-sequence or implementing custom animation logic.
|
|
137
|
+
|
|
138
|
+
Args:
|
|
139
|
+
frame_index (int): The frame index to start from (0-based).
|
|
140
|
+
|
|
141
|
+
Raises:
|
|
142
|
+
IndexError: If the frame index is out of range for the current animation.
|
|
126
143
|
"""
|
|
127
144
|
def resume(self) -> None:
|
|
128
145
|
"""
|
|
@@ -137,15 +154,15 @@ class AnimationController:
|
|
|
137
154
|
|
|
138
155
|
Sets the animation back to frame 0 and resets loop detection state.
|
|
139
156
|
"""
|
|
140
|
-
def set(self, name: str
|
|
157
|
+
def set(self, name: str) -> None:
|
|
141
158
|
"""
|
|
142
|
-
Set the current active animation by name.
|
|
159
|
+
Set the current active animation by name without affecting playback state.
|
|
143
160
|
|
|
144
|
-
Switches to the specified animation
|
|
161
|
+
Switches to the specified animation while preserving the current frame index and
|
|
162
|
+
playback state (paused/playing). Useful for seamless animation transitions.
|
|
145
163
|
|
|
146
164
|
Args:
|
|
147
165
|
name (str): The name of the animation to activate.
|
|
148
|
-
rewind (bool): Whether to rewind the animation to the start.
|
|
149
166
|
|
|
150
167
|
Raises:
|
|
151
168
|
ValueError: If the specified animation name is not found.
|
|
@@ -170,6 +187,27 @@ class AnimationController:
|
|
|
170
187
|
RuntimeError: If no animation is currently set or the animation has no frames.
|
|
171
188
|
"""
|
|
172
189
|
@property
|
|
190
|
+
def frame_index(self) -> int:
|
|
191
|
+
"""
|
|
192
|
+
The current frame index in the animation sequence.
|
|
193
|
+
|
|
194
|
+
Returns the integer frame index (0-based) of the currently displayed frame.
|
|
195
|
+
|
|
196
|
+
Returns:
|
|
197
|
+
int: The current frame index.
|
|
198
|
+
"""
|
|
199
|
+
@property
|
|
200
|
+
def looping(self) -> bool:
|
|
201
|
+
"""
|
|
202
|
+
Whether the animation should loop when it reaches the end.
|
|
203
|
+
|
|
204
|
+
Returns:
|
|
205
|
+
bool: True if the animation is set to loop, False otherwise.
|
|
206
|
+
"""
|
|
207
|
+
@looping.setter
|
|
208
|
+
def looping(self, arg1: bool) -> None:
|
|
209
|
+
...
|
|
210
|
+
@property
|
|
173
211
|
def playback_speed(self) -> float:
|
|
174
212
|
"""
|
|
175
213
|
The playback speed multiplier for animation timing.
|
|
@@ -183,6 +221,18 @@ class AnimationController:
|
|
|
183
221
|
@playback_speed.setter
|
|
184
222
|
def playback_speed(self, arg1: typing.SupportsFloat) -> None:
|
|
185
223
|
...
|
|
224
|
+
@property
|
|
225
|
+
def progress(self) -> float:
|
|
226
|
+
"""
|
|
227
|
+
The normalized progress through the current animation.
|
|
228
|
+
|
|
229
|
+
Returns a value between 0.0 (start) and 1.0 (end) representing how far through
|
|
230
|
+
the animation sequence the playback has progressed. Useful for UI progress bars
|
|
231
|
+
or triggering events at specific points in the animation.
|
|
232
|
+
|
|
233
|
+
Returns:
|
|
234
|
+
float: The animation progress as a value between 0.0 and 1.0.
|
|
235
|
+
"""
|
|
186
236
|
class Audio:
|
|
187
237
|
"""
|
|
188
238
|
|
|
@@ -268,16 +318,17 @@ class AudioStream:
|
|
|
268
318
|
|
|
269
319
|
The stream position is preserved and can be resumed with resume().
|
|
270
320
|
"""
|
|
271
|
-
def play(self, fade_in_ms: typing.SupportsInt = 0, loop: bool = False) -> None:
|
|
321
|
+
def play(self, fade_in_ms: typing.SupportsInt = 0, loop: bool = False, start_time_seconds: typing.SupportsFloat = 0.0) -> None:
|
|
272
322
|
"""
|
|
273
|
-
Play the audio stream with optional fade-in time and
|
|
323
|
+
Play the audio stream with optional fade-in time, loop setting, and start position.
|
|
274
324
|
|
|
275
|
-
|
|
276
|
-
playing, it will restart from the
|
|
325
|
+
Starts playback from the specified time position. If the stream is already
|
|
326
|
+
playing, it will restart from the specified position.
|
|
277
327
|
|
|
278
328
|
Args:
|
|
279
329
|
fade_in_ms (int, optional): Fade-in duration in milliseconds. Defaults to 0.
|
|
280
330
|
loop (bool, optional): Whether to loop the audio continuously. Defaults to False.
|
|
331
|
+
start_time_seconds (float, optional): Time position in seconds to start playback from. Defaults to 0.0.
|
|
281
332
|
"""
|
|
282
333
|
def resume(self) -> None:
|
|
283
334
|
"""
|
|
@@ -292,6 +343,16 @@ class AudioStream:
|
|
|
292
343
|
Sets the playback position back to the start of the audio file. Does not affect
|
|
293
344
|
the current play state (playing/paused).
|
|
294
345
|
"""
|
|
346
|
+
def seek(self, time_seconds: typing.SupportsFloat) -> None:
|
|
347
|
+
"""
|
|
348
|
+
Seek to a specific time position in the audio stream.
|
|
349
|
+
|
|
350
|
+
Sets the playback position to the specified time in seconds. Does not affect
|
|
351
|
+
the current play state (playing/paused).
|
|
352
|
+
|
|
353
|
+
Args:
|
|
354
|
+
time_seconds (float): The time position in seconds to seek to.
|
|
355
|
+
"""
|
|
295
356
|
def set_looping(self, loop: bool) -> None:
|
|
296
357
|
"""
|
|
297
358
|
Set whether the audio stream loops continuously.
|
|
@@ -308,6 +369,11 @@ class AudioStream:
|
|
|
308
369
|
If > 0, fades out over the specified duration. Defaults to 0.
|
|
309
370
|
"""
|
|
310
371
|
@property
|
|
372
|
+
def current_time(self) -> float:
|
|
373
|
+
"""
|
|
374
|
+
The current playback time position in seconds.
|
|
375
|
+
"""
|
|
376
|
+
@property
|
|
311
377
|
def volume(self) -> float:
|
|
312
378
|
"""
|
|
313
379
|
The volume level of the audio stream.
|
|
@@ -419,41 +485,6 @@ class Circle:
|
|
|
419
485
|
"""
|
|
420
486
|
Return the smallest rectangle that fully contains the circle.
|
|
421
487
|
"""
|
|
422
|
-
def collide_circle(self, circle: Circle) -> bool:
|
|
423
|
-
"""
|
|
424
|
-
Check collision with another circle.
|
|
425
|
-
|
|
426
|
-
Args:
|
|
427
|
-
circle (Circle): The circle to test.
|
|
428
|
-
"""
|
|
429
|
-
def collide_line(self, line: Line) -> bool:
|
|
430
|
-
"""
|
|
431
|
-
Check collision with a line.
|
|
432
|
-
|
|
433
|
-
Args:
|
|
434
|
-
line (Line): The line to test.
|
|
435
|
-
"""
|
|
436
|
-
def collide_point(self, point: Vec2) -> bool:
|
|
437
|
-
"""
|
|
438
|
-
Check if a point lies inside the circle.
|
|
439
|
-
|
|
440
|
-
Args:
|
|
441
|
-
point (Vec2): The point to test.
|
|
442
|
-
"""
|
|
443
|
-
def collide_rect(self, rect: Rect) -> bool:
|
|
444
|
-
"""
|
|
445
|
-
Check collision with a rectangle.
|
|
446
|
-
|
|
447
|
-
Args:
|
|
448
|
-
rect (Rect): The rectangle to test.
|
|
449
|
-
"""
|
|
450
|
-
def contains(self, shape: typing.Any) -> bool:
|
|
451
|
-
"""
|
|
452
|
-
Check if the circle fully contains the given shape.
|
|
453
|
-
|
|
454
|
-
Args:
|
|
455
|
-
shape (Vec2, Circle, or Rect): The shape to test.
|
|
456
|
-
"""
|
|
457
488
|
def copy(self) -> Circle:
|
|
458
489
|
"""
|
|
459
490
|
Return a copy of the circle.
|
|
@@ -533,14 +564,22 @@ class Color:
|
|
|
533
564
|
a (int, optional): Alpha value [0-255]. Defaults to 255.
|
|
534
565
|
"""
|
|
535
566
|
@typing.overload
|
|
536
|
-
def __init__(self,
|
|
567
|
+
def __init__(self, hex: str) -> None:
|
|
537
568
|
"""
|
|
538
|
-
Create a Color from a hex string
|
|
569
|
+
Create a Color from a hex string.
|
|
539
570
|
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
571
|
+
Args:
|
|
572
|
+
hex (str): Hex color string (with or without '#' prefix).
|
|
573
|
+
"""
|
|
574
|
+
@typing.overload
|
|
575
|
+
def __init__(self, sequence: collections.abc.Sequence) -> None:
|
|
576
|
+
"""
|
|
577
|
+
Create a Color from a sequence of RGB(A) integers.
|
|
578
|
+
|
|
579
|
+
Args:
|
|
580
|
+
sequence (list or tuple): A sequence of 3 or 4 integers [0-255].
|
|
581
|
+
- 3 values: RGB (alpha defaults to 255)
|
|
582
|
+
- 4 values: RGBA
|
|
544
583
|
"""
|
|
545
584
|
def __iter__(self) -> collections.abc.Iterator:
|
|
546
585
|
"""
|
|
@@ -560,6 +599,20 @@ class Color:
|
|
|
560
599
|
Returns:
|
|
561
600
|
int: Always returns 4 (for r, g, b, a channels).
|
|
562
601
|
"""
|
|
602
|
+
def __mul__(self, scalar: typing.SupportsFloat) -> Color:
|
|
603
|
+
"""
|
|
604
|
+
Multiply RGB color channels by a scalar value.
|
|
605
|
+
|
|
606
|
+
Multiplies each RGB component by the scalar. Results are clamped to [0, 255].
|
|
607
|
+
The alpha channel is preserved unchanged.
|
|
608
|
+
Negative scalars invert the color before applying the absolute value.
|
|
609
|
+
|
|
610
|
+
Args:
|
|
611
|
+
scalar (float): Scalar multiplier (any positive or negative value).
|
|
612
|
+
|
|
613
|
+
Returns:
|
|
614
|
+
Color: New Color with scaled RGB values and original alpha.
|
|
615
|
+
"""
|
|
563
616
|
def __ne__(self, other: Color) -> bool:
|
|
564
617
|
"""
|
|
565
618
|
Check if two Color objects are not equal.
|
|
@@ -570,6 +623,16 @@ class Color:
|
|
|
570
623
|
Returns:
|
|
571
624
|
bool: True if any component differs, False otherwise.
|
|
572
625
|
"""
|
|
626
|
+
def __neg__(self) -> Color:
|
|
627
|
+
"""
|
|
628
|
+
Unary negation operator to invert the color.
|
|
629
|
+
|
|
630
|
+
Returns the inverted color by flipping RGB channels (255 - value).
|
|
631
|
+
The alpha channel is preserved unchanged.
|
|
632
|
+
|
|
633
|
+
Returns:
|
|
634
|
+
Color: New Color with inverted RGB values and original alpha.
|
|
635
|
+
"""
|
|
573
636
|
def __repr__(self) -> str:
|
|
574
637
|
"""
|
|
575
638
|
Return a string suitable for debugging and recreation.
|
|
@@ -577,6 +640,20 @@ class Color:
|
|
|
577
640
|
Returns:
|
|
578
641
|
str: String in format "Color(r, g, b, a)" that can recreate the object.
|
|
579
642
|
"""
|
|
643
|
+
def __rmul__(self, scalar: typing.SupportsFloat) -> Color:
|
|
644
|
+
"""
|
|
645
|
+
Multiply RGB color channels by a scalar value (reverse multiplication).
|
|
646
|
+
|
|
647
|
+
Allows scalar * color syntax in addition to color * scalar.
|
|
648
|
+
Results are clamped to [0, 255]. The alpha channel is preserved unchanged.
|
|
649
|
+
Negative scalars invert the color before applying the absolute value.
|
|
650
|
+
|
|
651
|
+
Args:
|
|
652
|
+
scalar (float): Scalar multiplier (any positive or negative value).
|
|
653
|
+
|
|
654
|
+
Returns:
|
|
655
|
+
Color: New Color with scaled RGB values and original alpha.
|
|
656
|
+
"""
|
|
580
657
|
def __setitem__(self, index: typing.SupportsInt, value: typing.SupportsInt) -> None:
|
|
581
658
|
"""
|
|
582
659
|
Set a color channel by index.
|
|
@@ -595,6 +672,23 @@ class Color:
|
|
|
595
672
|
Returns:
|
|
596
673
|
str: String in format "(r, g, b, a)" with integer values.
|
|
597
674
|
"""
|
|
675
|
+
def __truediv__(self, scalar: typing.SupportsFloat) -> Color:
|
|
676
|
+
"""
|
|
677
|
+
Divide RGB color channels by a scalar value.
|
|
678
|
+
|
|
679
|
+
Divides each RGB component by the scalar. Results are clamped to [0, 255].
|
|
680
|
+
The alpha channel is preserved unchanged.
|
|
681
|
+
Negative scalars invert the color before applying the absolute value.
|
|
682
|
+
|
|
683
|
+
Args:
|
|
684
|
+
scalar (float): Scalar divisor (any positive or negative value except 0).
|
|
685
|
+
|
|
686
|
+
Returns:
|
|
687
|
+
Color: New Color with divided RGB values and original alpha.
|
|
688
|
+
|
|
689
|
+
Raises:
|
|
690
|
+
ValueError: If scalar is zero.
|
|
691
|
+
"""
|
|
598
692
|
def copy(self) -> Color:
|
|
599
693
|
"""
|
|
600
694
|
Create a copy of the color.
|
|
@@ -760,27 +854,48 @@ class EventType(enum.IntEnum):
|
|
|
760
854
|
AUDIO_DEVICE_ADDED: typing.ClassVar[EventType] # value = <EventType.AUDIO_DEVICE_ADDED: 4352>
|
|
761
855
|
AUDIO_DEVICE_FORMAT_CHANGED: typing.ClassVar[EventType] # value = <EventType.AUDIO_DEVICE_FORMAT_CHANGED: 4354>
|
|
762
856
|
AUDIO_DEVICE_REMOVED: typing.ClassVar[EventType] # value = <EventType.AUDIO_DEVICE_REMOVED: 4353>
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
857
|
+
CAMERA_DEVICE_ADDED: typing.ClassVar[EventType] # value = <EventType.CAMERA_DEVICE_ADDED: 5120>
|
|
858
|
+
CAMERA_DEVICE_APPROVED: typing.ClassVar[EventType] # value = <EventType.CAMERA_DEVICE_APPROVED: 5122>
|
|
859
|
+
CAMERA_DEVICE_DENIED: typing.ClassVar[EventType] # value = <EventType.CAMERA_DEVICE_DENIED: 5123>
|
|
860
|
+
CAMERA_DEVICE_REMOVED: typing.ClassVar[EventType] # value = <EventType.CAMERA_DEVICE_REMOVED: 5121>
|
|
861
|
+
CLIPBOARD_UPDATE: typing.ClassVar[EventType] # value = <EventType.CLIPBOARD_UPDATE: 2304>
|
|
862
|
+
DID_ENTER_BACKGROUND: typing.ClassVar[EventType] # value = <EventType.DID_ENTER_BACKGROUND: 260>
|
|
863
|
+
DID_ENTER_FOREGROUND: typing.ClassVar[EventType] # value = <EventType.DID_ENTER_FOREGROUND: 262>
|
|
864
|
+
DISPLAY_ADDED: typing.ClassVar[EventType] # value = <EventType.DISPLAY_ADDED: 338>
|
|
865
|
+
DISPLAY_CONTENT_SCALE_CHANGED: typing.ClassVar[EventType] # value = <EventType.DISPLAY_CONTENT_SCALE_CHANGED: 343>
|
|
866
|
+
DISPLAY_CURRENT_MODE_CHANGED: typing.ClassVar[EventType] # value = <EventType.DISPLAY_CURRENT_MODE_CHANGED: 342>
|
|
867
|
+
DISPLAY_DESKTOP_MODE_CHANGED: typing.ClassVar[EventType] # value = <EventType.DISPLAY_DESKTOP_MODE_CHANGED: 341>
|
|
868
|
+
DISPLAY_MOVED: typing.ClassVar[EventType] # value = <EventType.DISPLAY_MOVED: 340>
|
|
869
|
+
DISPLAY_ORIENTATION: typing.ClassVar[EventType] # value = <EventType.DISPLAY_ORIENTATION: 337>
|
|
870
|
+
DISPLAY_REMOVED: typing.ClassVar[EventType] # value = <EventType.DISPLAY_REMOVED: 339>
|
|
767
871
|
DROP_BEGIN: typing.ClassVar[EventType] # value = <EventType.DROP_BEGIN: 4098>
|
|
768
872
|
DROP_COMPLETE: typing.ClassVar[EventType] # value = <EventType.DROP_COMPLETE: 4099>
|
|
769
873
|
DROP_FILE: typing.ClassVar[EventType] # value = <EventType.DROP_FILE: 4096>
|
|
770
874
|
DROP_POSITION: typing.ClassVar[EventType] # value = <EventType.DROP_POSITION: 4100>
|
|
771
875
|
DROP_TEXT: typing.ClassVar[EventType] # value = <EventType.DROP_TEXT: 4097>
|
|
876
|
+
FINGER_CANCELED: typing.ClassVar[EventType] # value = <EventType.FINGER_CANCELED: 1795>
|
|
877
|
+
FINGER_DOWN: typing.ClassVar[EventType] # value = <EventType.FINGER_DOWN: 1792>
|
|
878
|
+
FINGER_MOTION: typing.ClassVar[EventType] # value = <EventType.FINGER_MOTION: 1794>
|
|
879
|
+
FINGER_UP: typing.ClassVar[EventType] # value = <EventType.FINGER_UP: 1793>
|
|
772
880
|
GAMEPAD_ADDED: typing.ClassVar[EventType] # value = <EventType.GAMEPAD_ADDED: 1619>
|
|
773
881
|
GAMEPAD_AXIS_MOTION: typing.ClassVar[EventType] # value = <EventType.GAMEPAD_AXIS_MOTION: 1616>
|
|
774
882
|
GAMEPAD_BUTTON_DOWN: typing.ClassVar[EventType] # value = <EventType.GAMEPAD_BUTTON_DOWN: 1617>
|
|
775
883
|
GAMEPAD_BUTTON_UP: typing.ClassVar[EventType] # value = <EventType.GAMEPAD_BUTTON_UP: 1618>
|
|
884
|
+
GAMEPAD_REMAPPED: typing.ClassVar[EventType] # value = <EventType.GAMEPAD_REMAPPED: 1621>
|
|
776
885
|
GAMEPAD_REMOVED: typing.ClassVar[EventType] # value = <EventType.GAMEPAD_REMOVED: 1620>
|
|
886
|
+
GAMEPAD_SENSOR_UPDATE: typing.ClassVar[EventType] # value = <EventType.GAMEPAD_SENSOR_UPDATE: 1625>
|
|
887
|
+
GAMEPAD_STEAM_HANDLE_UPDATED: typing.ClassVar[EventType] # value = <EventType.GAMEPAD_STEAM_HANDLE_UPDATED: 1627>
|
|
777
888
|
GAMEPAD_TOUCHPAD_DOWN: typing.ClassVar[EventType] # value = <EventType.GAMEPAD_TOUCHPAD_DOWN: 1622>
|
|
778
889
|
GAMEPAD_TOUCHPAD_MOTION: typing.ClassVar[EventType] # value = <EventType.GAMEPAD_TOUCHPAD_MOTION: 1623>
|
|
779
890
|
GAMEPAD_TOUCHPAD_UP: typing.ClassVar[EventType] # value = <EventType.GAMEPAD_TOUCHPAD_UP: 1624>
|
|
891
|
+
GAMEPAD_UPDATE_COMPLETE: typing.ClassVar[EventType] # value = <EventType.GAMEPAD_UPDATE_COMPLETE: 1626>
|
|
780
892
|
KEYBOARD_ADDED: typing.ClassVar[EventType] # value = <EventType.KEYBOARD_ADDED: 773>
|
|
781
893
|
KEYBOARD_REMOVED: typing.ClassVar[EventType] # value = <EventType.KEYBOARD_REMOVED: 774>
|
|
894
|
+
KEYMAP_CHANGED: typing.ClassVar[EventType] # value = <EventType.KEYMAP_CHANGED: 772>
|
|
782
895
|
KEY_DOWN: typing.ClassVar[EventType] # value = <EventType.KEY_DOWN: 768>
|
|
783
896
|
KEY_UP: typing.ClassVar[EventType] # value = <EventType.KEY_UP: 769>
|
|
897
|
+
LOCALE_CHANGED: typing.ClassVar[EventType] # value = <EventType.LOCALE_CHANGED: 263>
|
|
898
|
+
LOW_MEMORY: typing.ClassVar[EventType] # value = <EventType.LOW_MEMORY: 258>
|
|
784
899
|
MOUSE_ADDED: typing.ClassVar[EventType] # value = <EventType.MOUSE_ADDED: 1028>
|
|
785
900
|
MOUSE_BUTTON_DOWN: typing.ClassVar[EventType] # value = <EventType.MOUSE_BUTTON_DOWN: 1025>
|
|
786
901
|
MOUSE_BUTTON_UP: typing.ClassVar[EventType] # value = <EventType.MOUSE_BUTTON_UP: 1026>
|
|
@@ -796,13 +911,29 @@ class EventType(enum.IntEnum):
|
|
|
796
911
|
PEN_PROXIMITY_OUT: typing.ClassVar[EventType] # value = <EventType.PEN_PROXIMITY_OUT: 4865>
|
|
797
912
|
PEN_UP: typing.ClassVar[EventType] # value = <EventType.PEN_UP: 4867>
|
|
798
913
|
QUIT: typing.ClassVar[EventType] # value = <EventType.QUIT: 256>
|
|
914
|
+
RENDER_DEVICE_LOST: typing.ClassVar[EventType] # value = <EventType.RENDER_DEVICE_LOST: 8194>
|
|
915
|
+
RENDER_DEVICE_RESET: typing.ClassVar[EventType] # value = <EventType.RENDER_DEVICE_RESET: 8193>
|
|
916
|
+
RENDER_TARGETS_RESET: typing.ClassVar[EventType] # value = <EventType.RENDER_TARGETS_RESET: 8192>
|
|
917
|
+
SENSOR_UPDATE: typing.ClassVar[EventType] # value = <EventType.SENSOR_UPDATE: 4608>
|
|
918
|
+
SYSTEM_THEME_CHANGED: typing.ClassVar[EventType] # value = <EventType.SYSTEM_THEME_CHANGED: 264>
|
|
919
|
+
TERMINATING: typing.ClassVar[EventType] # value = <EventType.TERMINATING: 257>
|
|
799
920
|
TEXT_EDITING: typing.ClassVar[EventType] # value = <EventType.TEXT_EDITING: 770>
|
|
921
|
+
TEXT_EDITING_CANDIDATES: typing.ClassVar[EventType] # value = <EventType.TEXT_EDITING_CANDIDATES: 775>
|
|
800
922
|
TEXT_INPUT: typing.ClassVar[EventType] # value = <EventType.TEXT_INPUT: 771>
|
|
923
|
+
WILL_ENTER_BACKGROUND: typing.ClassVar[EventType] # value = <EventType.WILL_ENTER_BACKGROUND: 259>
|
|
924
|
+
WILL_ENTER_FOREGROUND: typing.ClassVar[EventType] # value = <EventType.WILL_ENTER_FOREGROUND: 261>
|
|
925
|
+
WINDOW_CLOSE_REQUESTED: typing.ClassVar[EventType] # value = <EventType.WINDOW_CLOSE_REQUESTED: 528>
|
|
926
|
+
WINDOW_DESTROYED: typing.ClassVar[EventType] # value = <EventType.WINDOW_DESTROYED: 537>
|
|
927
|
+
WINDOW_DISPLAY_CHANGED: typing.ClassVar[EventType] # value = <EventType.WINDOW_DISPLAY_CHANGED: 531>
|
|
928
|
+
WINDOW_DISPLAY_SCALE_CHANGED: typing.ClassVar[EventType] # value = <EventType.WINDOW_DISPLAY_SCALE_CHANGED: 532>
|
|
801
929
|
WINDOW_ENTER_FULLSCREEN: typing.ClassVar[EventType] # value = <EventType.WINDOW_ENTER_FULLSCREEN: 535>
|
|
802
930
|
WINDOW_EXPOSED: typing.ClassVar[EventType] # value = <EventType.WINDOW_EXPOSED: 516>
|
|
803
931
|
WINDOW_FOCUS_GAINED: typing.ClassVar[EventType] # value = <EventType.WINDOW_FOCUS_GAINED: 526>
|
|
804
932
|
WINDOW_FOCUS_LOST: typing.ClassVar[EventType] # value = <EventType.WINDOW_FOCUS_LOST: 527>
|
|
933
|
+
WINDOW_HDR_STATE_CHANGED: typing.ClassVar[EventType] # value = <EventType.WINDOW_HDR_STATE_CHANGED: 538>
|
|
805
934
|
WINDOW_HIDDEN: typing.ClassVar[EventType] # value = <EventType.WINDOW_HIDDEN: 515>
|
|
935
|
+
WINDOW_HIT_TEST: typing.ClassVar[EventType] # value = <EventType.WINDOW_HIT_TEST: 529>
|
|
936
|
+
WINDOW_ICCPROF_CHANGED: typing.ClassVar[EventType] # value = <EventType.WINDOW_ICCPROF_CHANGED: 530>
|
|
806
937
|
WINDOW_LEAVE_FULLSCREEN: typing.ClassVar[EventType] # value = <EventType.WINDOW_LEAVE_FULLSCREEN: 536>
|
|
807
938
|
WINDOW_MAXIMIZED: typing.ClassVar[EventType] # value = <EventType.WINDOW_MAXIMIZED: 522>
|
|
808
939
|
WINDOW_MINIMIZED: typing.ClassVar[EventType] # value = <EventType.WINDOW_MINIMIZED: 521>
|
|
@@ -812,6 +943,7 @@ class EventType(enum.IntEnum):
|
|
|
812
943
|
WINDOW_OCCLUDED: typing.ClassVar[EventType] # value = <EventType.WINDOW_OCCLUDED: 534>
|
|
813
944
|
WINDOW_RESIZED: typing.ClassVar[EventType] # value = <EventType.WINDOW_RESIZED: 518>
|
|
814
945
|
WINDOW_RESTORED: typing.ClassVar[EventType] # value = <EventType.WINDOW_RESTORED: 523>
|
|
946
|
+
WINDOW_SAFE_AREA_CHANGED: typing.ClassVar[EventType] # value = <EventType.WINDOW_SAFE_AREA_CHANGED: 533>
|
|
815
947
|
WINDOW_SHOWN: typing.ClassVar[EventType] # value = <EventType.WINDOW_SHOWN: 514>
|
|
816
948
|
@classmethod
|
|
817
949
|
def __new__(cls, value):
|
|
@@ -823,11 +955,11 @@ class EventType(enum.IntEnum):
|
|
|
823
955
|
class Font:
|
|
824
956
|
"""
|
|
825
957
|
|
|
826
|
-
A font
|
|
958
|
+
A font typeface for rendering text.
|
|
827
959
|
|
|
828
|
-
This class wraps an SDL_ttf font and
|
|
829
|
-
|
|
830
|
-
typefaces:
|
|
960
|
+
This class wraps an SDL_ttf font and manages font properties like size,
|
|
961
|
+
style, and alignment. You can load fonts from a file path or use one of
|
|
962
|
+
the built-in typefaces:
|
|
831
963
|
|
|
832
964
|
- "kraken-clean": A clean sans-serif font bundled with the engine.
|
|
833
965
|
- "kraken-retro": A pixel/retro font bundled with the engine. Point size is
|
|
@@ -838,7 +970,7 @@ class Font:
|
|
|
838
970
|
call kn.window.create(...) first, which initializes the font engine.
|
|
839
971
|
|
|
840
972
|
"""
|
|
841
|
-
def __init__(self,
|
|
973
|
+
def __init__(self, file_dir: str, pt_size: typing.SupportsInt) -> None:
|
|
842
974
|
"""
|
|
843
975
|
Create a Font.
|
|
844
976
|
|
|
@@ -852,69 +984,87 @@ class Font:
|
|
|
852
984
|
Raises:
|
|
853
985
|
RuntimeError: If the font fails to load.
|
|
854
986
|
"""
|
|
855
|
-
|
|
987
|
+
@property
|
|
988
|
+
def alignment(self) -> Align:
|
|
856
989
|
"""
|
|
857
|
-
|
|
990
|
+
Get or set the text alignment for wrapped text.
|
|
858
991
|
|
|
859
|
-
|
|
860
|
-
text (str): The text to render.
|
|
861
|
-
pos (Vec2 | None, optional): The position in pixels. Defaults to (0, 0).
|
|
862
|
-
color (Color | None, optional): Text color. Defaults to white.
|
|
863
|
-
wrap_width (int, optional): Wrap the text at this pixel width. Set to 0 for
|
|
864
|
-
no wrapping. Defaults to 0.
|
|
865
|
-
|
|
866
|
-
Returns:
|
|
867
|
-
None
|
|
992
|
+
Valid values: Align.LEFT, Align.CENTER, Align.RIGHT
|
|
868
993
|
"""
|
|
869
|
-
|
|
994
|
+
@alignment.setter
|
|
995
|
+
def alignment(self, arg1: Align) -> None:
|
|
996
|
+
...
|
|
997
|
+
@property
|
|
998
|
+
def bold(self) -> bool:
|
|
870
999
|
"""
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
Args:
|
|
874
|
-
on (bool): True to enable bold, False to disable.
|
|
875
|
-
|
|
876
|
-
Returns:
|
|
877
|
-
None
|
|
1000
|
+
Get or set whether bold text style is enabled.
|
|
878
1001
|
"""
|
|
879
|
-
|
|
1002
|
+
@bold.setter
|
|
1003
|
+
def bold(self, arg1: bool) -> None:
|
|
1004
|
+
...
|
|
1005
|
+
@property
|
|
1006
|
+
def hinting(self) -> FontHint:
|
|
880
1007
|
"""
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
Args:
|
|
884
|
-
on (bool): True to enable italic, False to disable.
|
|
1008
|
+
Get or set the font hinting mode.
|
|
885
1009
|
|
|
886
|
-
|
|
887
|
-
|
|
1010
|
+
Valid values: FontHinting.NORMAL, FontHinting.MONO, FontHinting.LIGHT,
|
|
1011
|
+
FontHinting.LIGHT_SUBPIXEL, FontHinting.NONE
|
|
888
1012
|
"""
|
|
889
|
-
|
|
1013
|
+
@hinting.setter
|
|
1014
|
+
def hinting(self, arg1: FontHint) -> None:
|
|
1015
|
+
...
|
|
1016
|
+
@property
|
|
1017
|
+
def italic(self) -> bool:
|
|
890
1018
|
"""
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
Args:
|
|
894
|
-
pt (int): The new point size. Values below 8 are clamped to 8.
|
|
895
|
-
|
|
896
|
-
Returns:
|
|
897
|
-
None
|
|
1019
|
+
Get or set whether italic text style is enabled.
|
|
898
1020
|
"""
|
|
899
|
-
|
|
1021
|
+
@italic.setter
|
|
1022
|
+
def italic(self, arg1: bool) -> None:
|
|
1023
|
+
...
|
|
1024
|
+
@property
|
|
1025
|
+
def pt_size(self) -> int:
|
|
900
1026
|
"""
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
Args:
|
|
904
|
-
on (bool): True to enable strikethrough, False to disable.
|
|
905
|
-
|
|
906
|
-
Returns:
|
|
907
|
-
None
|
|
1027
|
+
Get or set the point size of the font. Values below 8 are clamped to 8.
|
|
908
1028
|
"""
|
|
909
|
-
|
|
1029
|
+
@pt_size.setter
|
|
1030
|
+
def pt_size(self, arg1: typing.SupportsInt) -> None:
|
|
1031
|
+
...
|
|
1032
|
+
@property
|
|
1033
|
+
def strikethrough(self) -> bool:
|
|
910
1034
|
"""
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
1035
|
+
Get or set whether strikethrough text style is enabled.
|
|
1036
|
+
"""
|
|
1037
|
+
@strikethrough.setter
|
|
1038
|
+
def strikethrough(self, arg1: bool) -> None:
|
|
1039
|
+
...
|
|
1040
|
+
@property
|
|
1041
|
+
def underline(self) -> bool:
|
|
1042
|
+
"""
|
|
1043
|
+
Get or set whether underline text style is enabled.
|
|
1044
|
+
"""
|
|
1045
|
+
@underline.setter
|
|
1046
|
+
def underline(self, arg1: bool) -> None:
|
|
1047
|
+
...
|
|
1048
|
+
class FontHint(enum.IntEnum):
|
|
1049
|
+
"""
|
|
1050
|
+
|
|
1051
|
+
Font hinting modes for controlling how fonts are rendered.
|
|
1052
|
+
|
|
1053
|
+
Hinting is the process of fitting font outlines to the pixel grid to improve
|
|
1054
|
+
readability at small sizes.
|
|
915
1055
|
|
|
916
|
-
|
|
917
|
-
|
|
1056
|
+
"""
|
|
1057
|
+
LIGHT: typing.ClassVar[FontHint] # value = <FontHint.LIGHT: 2>
|
|
1058
|
+
LIGHT_SUBPIXEL: typing.ClassVar[FontHint] # value = <FontHint.LIGHT_SUBPIXEL: 3>
|
|
1059
|
+
MONO: typing.ClassVar[FontHint] # value = <FontHint.MONO: 1>
|
|
1060
|
+
NONE: typing.ClassVar[FontHint] # value = <FontHint.NONE: 4>
|
|
1061
|
+
NORMAL: typing.ClassVar[FontHint] # value = <FontHint.NORMAL: 0>
|
|
1062
|
+
@classmethod
|
|
1063
|
+
def __new__(cls, value):
|
|
1064
|
+
...
|
|
1065
|
+
def __format__(self, format_spec):
|
|
1066
|
+
"""
|
|
1067
|
+
Convert to a string according to format_spec.
|
|
918
1068
|
"""
|
|
919
1069
|
class Frame:
|
|
920
1070
|
"""
|
|
@@ -1052,12 +1202,16 @@ class Keycode(enum.IntEnum):
|
|
|
1052
1202
|
K_9: typing.ClassVar[Keycode] # value = <Keycode.K_9: 57>
|
|
1053
1203
|
K_AGAIN: typing.ClassVar[Keycode] # value = <Keycode.K_AGAIN: 1073741945>
|
|
1054
1204
|
K_AMPERSAND: typing.ClassVar[Keycode] # value = <Keycode.K_AMPERSAND: 38>
|
|
1205
|
+
K_APPLICATION: typing.ClassVar[Keycode] # value = <Keycode.K_APPLICATION: 1073741925>
|
|
1055
1206
|
K_ASTERISK: typing.ClassVar[Keycode] # value = <Keycode.K_ASTERISK: 42>
|
|
1056
1207
|
K_AT: typing.ClassVar[Keycode] # value = <Keycode.K_AT: 64>
|
|
1057
1208
|
K_BACKSLASH: typing.ClassVar[Keycode] # value = <Keycode.K_BACKSLASH: 92>
|
|
1058
1209
|
K_BACKSPACE: typing.ClassVar[Keycode] # value = <Keycode.K_BACKSPACE: 8>
|
|
1210
|
+
K_CALL: typing.ClassVar[Keycode] # value = <Keycode.K_CALL: 1073742113>
|
|
1059
1211
|
K_CAPS: typing.ClassVar[Keycode] # value = <Keycode.K_CAPS: 1073741881>
|
|
1060
1212
|
K_CARET: typing.ClassVar[Keycode] # value = <Keycode.K_CARET: 94>
|
|
1213
|
+
K_CHANNEL_DEC: typing.ClassVar[Keycode] # value = <Keycode.K_CHANNEL_DEC: 1073742085>
|
|
1214
|
+
K_CHANNEL_INC: typing.ClassVar[Keycode] # value = <Keycode.K_CHANNEL_INC: 1073742084>
|
|
1061
1215
|
K_COLON: typing.ClassVar[Keycode] # value = <Keycode.K_COLON: 58>
|
|
1062
1216
|
K_COMMA: typing.ClassVar[Keycode] # value = <Keycode.K_COMMA: 44>
|
|
1063
1217
|
K_COPY: typing.ClassVar[Keycode] # value = <Keycode.K_COPY: 1073741948>
|
|
@@ -1067,13 +1221,18 @@ class Keycode(enum.IntEnum):
|
|
|
1067
1221
|
K_DOLLAR: typing.ClassVar[Keycode] # value = <Keycode.K_DOLLAR: 36>
|
|
1068
1222
|
K_DOWN: typing.ClassVar[Keycode] # value = <Keycode.K_DOWN: 1073741905>
|
|
1069
1223
|
K_END: typing.ClassVar[Keycode] # value = <Keycode.K_END: 1073741901>
|
|
1224
|
+
K_ENDCALL: typing.ClassVar[Keycode] # value = <Keycode.K_ENDCALL: 1073742114>
|
|
1070
1225
|
K_EQ: typing.ClassVar[Keycode] # value = <Keycode.K_EQ: 61>
|
|
1071
1226
|
K_ESC: typing.ClassVar[Keycode] # value = <Keycode.K_ESC: 27>
|
|
1072
1227
|
K_EXCLAIM: typing.ClassVar[Keycode] # value = <Keycode.K_EXCLAIM: 33>
|
|
1228
|
+
K_EXECUTE: typing.ClassVar[Keycode] # value = <Keycode.K_EXECUTE: 1073741940>
|
|
1073
1229
|
K_F1: typing.ClassVar[Keycode] # value = <Keycode.K_F1: 1073741882>
|
|
1074
1230
|
K_F10: typing.ClassVar[Keycode] # value = <Keycode.K_F10: 1073741891>
|
|
1075
1231
|
K_F11: typing.ClassVar[Keycode] # value = <Keycode.K_F11: 1073741892>
|
|
1076
1232
|
K_F12: typing.ClassVar[Keycode] # value = <Keycode.K_F12: 1073741893>
|
|
1233
|
+
K_F13: typing.ClassVar[Keycode] # value = <Keycode.K_F13: 1073741928>
|
|
1234
|
+
K_F14: typing.ClassVar[Keycode] # value = <Keycode.K_F14: 1073741929>
|
|
1235
|
+
K_F15: typing.ClassVar[Keycode] # value = <Keycode.K_F15: 1073741930>
|
|
1077
1236
|
K_F2: typing.ClassVar[Keycode] # value = <Keycode.K_F2: 1073741883>
|
|
1078
1237
|
K_F3: typing.ClassVar[Keycode] # value = <Keycode.K_F3: 1073741884>
|
|
1079
1238
|
K_F4: typing.ClassVar[Keycode] # value = <Keycode.K_F4: 1073741885>
|
|
@@ -1086,6 +1245,7 @@ class Keycode(enum.IntEnum):
|
|
|
1086
1245
|
K_GRAVE: typing.ClassVar[Keycode] # value = <Keycode.K_GRAVE: 96>
|
|
1087
1246
|
K_GT: typing.ClassVar[Keycode] # value = <Keycode.K_GT: 62>
|
|
1088
1247
|
K_HASH: typing.ClassVar[Keycode] # value = <Keycode.K_HASH: 35>
|
|
1248
|
+
K_HELP: typing.ClassVar[Keycode] # value = <Keycode.K_HELP: 1073741941>
|
|
1089
1249
|
K_HOME: typing.ClassVar[Keycode] # value = <Keycode.K_HOME: 1073741898>
|
|
1090
1250
|
K_INS: typing.ClassVar[Keycode] # value = <Keycode.K_INS: 1073741897>
|
|
1091
1251
|
K_KP_0: typing.ClassVar[Keycode] # value = <Keycode.K_KP_0: 1073741922>
|
|
@@ -1113,7 +1273,20 @@ class Keycode(enum.IntEnum):
|
|
|
1113
1273
|
K_LPAREN: typing.ClassVar[Keycode] # value = <Keycode.K_LPAREN: 40>
|
|
1114
1274
|
K_LSHIFT: typing.ClassVar[Keycode] # value = <Keycode.K_LSHIFT: 1073742049>
|
|
1115
1275
|
K_LT: typing.ClassVar[Keycode] # value = <Keycode.K_LT: 60>
|
|
1276
|
+
K_MEDIA_EJECT: typing.ClassVar[Keycode] # value = <Keycode.K_MEDIA_EJECT: 1073742094>
|
|
1277
|
+
K_MEDIA_FF: typing.ClassVar[Keycode] # value = <Keycode.K_MEDIA_FF: 1073742089>
|
|
1278
|
+
K_MEDIA_NEXT: typing.ClassVar[Keycode] # value = <Keycode.K_MEDIA_NEXT: 1073742091>
|
|
1279
|
+
K_MEDIA_PAUSE: typing.ClassVar[Keycode] # value = <Keycode.K_MEDIA_PAUSE: 1073742087>
|
|
1280
|
+
K_MEDIA_PLAY: typing.ClassVar[Keycode] # value = <Keycode.K_MEDIA_PLAY: 1073742086>
|
|
1281
|
+
K_MEDIA_PLAY_PAUSE: typing.ClassVar[Keycode] # value = <Keycode.K_MEDIA_PLAY_PAUSE: 1073742095>
|
|
1282
|
+
K_MEDIA_PREV: typing.ClassVar[Keycode] # value = <Keycode.K_MEDIA_PREV: 1073742092>
|
|
1283
|
+
K_MEDIA_REC: typing.ClassVar[Keycode] # value = <Keycode.K_MEDIA_REC: 1073742088>
|
|
1284
|
+
K_MEDIA_REWIND: typing.ClassVar[Keycode] # value = <Keycode.K_MEDIA_REWIND: 1073742090>
|
|
1285
|
+
K_MEDIA_SELECT: typing.ClassVar[Keycode] # value = <Keycode.K_MEDIA_SELECT: 1073742096>
|
|
1286
|
+
K_MEDIA_STOP: typing.ClassVar[Keycode] # value = <Keycode.K_MEDIA_STOP: 1073742093>
|
|
1287
|
+
K_MENU: typing.ClassVar[Keycode] # value = <Keycode.K_MENU: 1073741942>
|
|
1116
1288
|
K_MINUS: typing.ClassVar[Keycode] # value = <Keycode.K_MINUS: 45>
|
|
1289
|
+
K_MODE: typing.ClassVar[Keycode] # value = <Keycode.K_MODE: 1073742081>
|
|
1117
1290
|
K_MUTE: typing.ClassVar[Keycode] # value = <Keycode.K_MUTE: 1073741951>
|
|
1118
1291
|
K_NUMLOCK: typing.ClassVar[Keycode] # value = <Keycode.K_NUMLOCK: 1073741907>
|
|
1119
1292
|
K_PASTE: typing.ClassVar[Keycode] # value = <Keycode.K_PASTE: 1073741949>
|
|
@@ -1124,6 +1297,7 @@ class Keycode(enum.IntEnum):
|
|
|
1124
1297
|
K_PGUP: typing.ClassVar[Keycode] # value = <Keycode.K_PGUP: 1073741899>
|
|
1125
1298
|
K_PIPE: typing.ClassVar[Keycode] # value = <Keycode.K_PIPE: 124>
|
|
1126
1299
|
K_PLUS: typing.ClassVar[Keycode] # value = <Keycode.K_PLUS: 43>
|
|
1300
|
+
K_POWER: typing.ClassVar[Keycode] # value = <Keycode.K_POWER: 1073741926>
|
|
1127
1301
|
K_PRTSCR: typing.ClassVar[Keycode] # value = <Keycode.K_PRTSCR: 1073741894>
|
|
1128
1302
|
K_QUESTION: typing.ClassVar[Keycode] # value = <Keycode.K_QUESTION: 63>
|
|
1129
1303
|
K_RALT: typing.ClassVar[Keycode] # value = <Keycode.K_RALT: 1073742054>
|
|
@@ -1136,17 +1310,24 @@ class Keycode(enum.IntEnum):
|
|
|
1136
1310
|
K_RPAREN: typing.ClassVar[Keycode] # value = <Keycode.K_RPAREN: 41>
|
|
1137
1311
|
K_RSHIFT: typing.ClassVar[Keycode] # value = <Keycode.K_RSHIFT: 1073742053>
|
|
1138
1312
|
K_SCRLK: typing.ClassVar[Keycode] # value = <Keycode.K_SCRLK: 1073741895>
|
|
1313
|
+
K_SELECT: typing.ClassVar[Keycode] # value = <Keycode.K_SELECT: 1073741943>
|
|
1139
1314
|
K_SEMICOLON: typing.ClassVar[Keycode] # value = <Keycode.K_SEMICOLON: 59>
|
|
1140
1315
|
K_SGLQUOTE: typing.ClassVar[Keycode] # value = <Keycode.K_SGLQUOTE: 39>
|
|
1141
1316
|
K_SLASH: typing.ClassVar[Keycode] # value = <Keycode.K_SLASH: 47>
|
|
1317
|
+
K_SLEEP: typing.ClassVar[Keycode] # value = <Keycode.K_SLEEP: 1073742082>
|
|
1318
|
+
K_SOFTLEFT: typing.ClassVar[Keycode] # value = <Keycode.K_SOFTLEFT: 1073742111>
|
|
1319
|
+
K_SOFTRIGHT: typing.ClassVar[Keycode] # value = <Keycode.K_SOFTRIGHT: 1073742112>
|
|
1142
1320
|
K_SPACE: typing.ClassVar[Keycode] # value = <Keycode.K_SPACE: 32>
|
|
1321
|
+
K_STOP: typing.ClassVar[Keycode] # value = <Keycode.K_STOP: 1073741944>
|
|
1143
1322
|
K_TAB: typing.ClassVar[Keycode] # value = <Keycode.K_TAB: 9>
|
|
1144
1323
|
K_TILDE: typing.ClassVar[Keycode] # value = <Keycode.K_TILDE: 126>
|
|
1145
1324
|
K_UNDERSCORE: typing.ClassVar[Keycode] # value = <Keycode.K_UNDERSCORE: 95>
|
|
1146
1325
|
K_UNDO: typing.ClassVar[Keycode] # value = <Keycode.K_UNDO: 1073741946>
|
|
1326
|
+
K_UNKNOWN: typing.ClassVar[Keycode] # value = <Keycode.K_UNKNOWN: 0>
|
|
1147
1327
|
K_UP: typing.ClassVar[Keycode] # value = <Keycode.K_UP: 1073741906>
|
|
1148
1328
|
K_VOLDOWN: typing.ClassVar[Keycode] # value = <Keycode.K_VOLDOWN: 1073741953>
|
|
1149
1329
|
K_VOLUP: typing.ClassVar[Keycode] # value = <Keycode.K_VOLUP: 1073741952>
|
|
1330
|
+
K_WAKE: typing.ClassVar[Keycode] # value = <Keycode.K_WAKE: 1073742083>
|
|
1150
1331
|
K_a: typing.ClassVar[Keycode] # value = <Keycode.K_a: 97>
|
|
1151
1332
|
K_b: typing.ClassVar[Keycode] # value = <Keycode.K_b: 98>
|
|
1152
1333
|
K_c: typing.ClassVar[Keycode] # value = <Keycode.K_c: 99>
|
|
@@ -1180,55 +1361,6 @@ class Keycode(enum.IntEnum):
|
|
|
1180
1361
|
"""
|
|
1181
1362
|
Convert to a string according to format_spec.
|
|
1182
1363
|
"""
|
|
1183
|
-
class Layer:
|
|
1184
|
-
"""
|
|
1185
|
-
|
|
1186
|
-
A layer within a tile map.
|
|
1187
|
-
|
|
1188
|
-
Layers can be either tile layers or object layers and contain a list of tiles.
|
|
1189
|
-
|
|
1190
|
-
"""
|
|
1191
|
-
class Type(enum.IntEnum):
|
|
1192
|
-
"""
|
|
1193
|
-
|
|
1194
|
-
The type of a Layer.
|
|
1195
|
-
|
|
1196
|
-
"""
|
|
1197
|
-
OBJECT: typing.ClassVar[Layer.Type] # value = <Type.OBJECT: 0>
|
|
1198
|
-
TILE: typing.ClassVar[Layer.Type] # value = <Type.TILE: 1>
|
|
1199
|
-
@classmethod
|
|
1200
|
-
def __new__(cls, value):
|
|
1201
|
-
...
|
|
1202
|
-
def __format__(self, format_spec):
|
|
1203
|
-
"""
|
|
1204
|
-
Convert to a string according to format_spec.
|
|
1205
|
-
"""
|
|
1206
|
-
OBJECT: typing.ClassVar[Layer.Type] # value = <Type.OBJECT: 0>
|
|
1207
|
-
TILE: typing.ClassVar[Layer.Type] # value = <Type.TILE: 1>
|
|
1208
|
-
def render(self) -> None:
|
|
1209
|
-
"""
|
|
1210
|
-
Render the layer.
|
|
1211
|
-
"""
|
|
1212
|
-
@property
|
|
1213
|
-
def is_visible(self) -> bool:
|
|
1214
|
-
"""
|
|
1215
|
-
Whether the layer is visible.
|
|
1216
|
-
"""
|
|
1217
|
-
@property
|
|
1218
|
-
def name(self) -> str:
|
|
1219
|
-
"""
|
|
1220
|
-
The name of the layer.
|
|
1221
|
-
"""
|
|
1222
|
-
@property
|
|
1223
|
-
def tiles(self) -> list[Tile]:
|
|
1224
|
-
"""
|
|
1225
|
-
The list of Tile instances contained in this layer.
|
|
1226
|
-
"""
|
|
1227
|
-
@property
|
|
1228
|
-
def type(self) -> Layer.Type:
|
|
1229
|
-
"""
|
|
1230
|
-
The layer type (OBJECT or TILE).
|
|
1231
|
-
"""
|
|
1232
1364
|
class Line:
|
|
1233
1365
|
"""
|
|
1234
1366
|
|
|
@@ -1983,6 +2115,71 @@ class Polygon:
|
|
|
1983
2115
|
Returns:
|
|
1984
2116
|
Polygon: A new polygon with the same points.
|
|
1985
2117
|
"""
|
|
2118
|
+
def rotate(self, angle: typing.SupportsFloat, pivot: Vec2) -> None:
|
|
2119
|
+
"""
|
|
2120
|
+
Rotate the polygon around a pivot point.
|
|
2121
|
+
|
|
2122
|
+
Args:
|
|
2123
|
+
angle (float): The rotation angle in radians.
|
|
2124
|
+
pivot (Vec2): The point to rotate around.
|
|
2125
|
+
"""
|
|
2126
|
+
@typing.overload
|
|
2127
|
+
def scale(self, factor: typing.SupportsFloat, pivot: Vec2) -> None:
|
|
2128
|
+
"""
|
|
2129
|
+
Scale the polygon uniformly from a pivot point.
|
|
2130
|
+
|
|
2131
|
+
Args:
|
|
2132
|
+
factor (float): The scaling factor.
|
|
2133
|
+
pivot (Vec2): The point to scale from.
|
|
2134
|
+
"""
|
|
2135
|
+
@typing.overload
|
|
2136
|
+
def scale(self, factor: Vec2, pivot: Vec2) -> None:
|
|
2137
|
+
"""
|
|
2138
|
+
Scale the polygon non-uniformly from a pivot point.
|
|
2139
|
+
|
|
2140
|
+
Args:
|
|
2141
|
+
factor (Vec2): The scaling factors for x and y.
|
|
2142
|
+
pivot (Vec2): The point to scale from.
|
|
2143
|
+
"""
|
|
2144
|
+
def translate(self, offset: Vec2) -> None:
|
|
2145
|
+
"""
|
|
2146
|
+
Move the polygon by an offset.
|
|
2147
|
+
|
|
2148
|
+
Args:
|
|
2149
|
+
offset (Vec2): The offset to move by.
|
|
2150
|
+
"""
|
|
2151
|
+
@property
|
|
2152
|
+
def area(self) -> float:
|
|
2153
|
+
"""
|
|
2154
|
+
Get the area of the polygon.
|
|
2155
|
+
|
|
2156
|
+
Returns:
|
|
2157
|
+
float: The area enclosed by the polygon.
|
|
2158
|
+
"""
|
|
2159
|
+
@property
|
|
2160
|
+
def bounds(self) -> Rect:
|
|
2161
|
+
"""
|
|
2162
|
+
Get the bounding rectangle of the polygon.
|
|
2163
|
+
|
|
2164
|
+
Returns:
|
|
2165
|
+
Rect: The smallest rectangle that contains the polygon.
|
|
2166
|
+
"""
|
|
2167
|
+
@property
|
|
2168
|
+
def centroid(self) -> Vec2:
|
|
2169
|
+
"""
|
|
2170
|
+
Get the centroid of the polygon.
|
|
2171
|
+
|
|
2172
|
+
Returns:
|
|
2173
|
+
Vec2: The center point of the polygon.
|
|
2174
|
+
"""
|
|
2175
|
+
@property
|
|
2176
|
+
def perimeter(self) -> float:
|
|
2177
|
+
"""
|
|
2178
|
+
Get the perimeter of the polygon.
|
|
2179
|
+
|
|
2180
|
+
Returns:
|
|
2181
|
+
float: The total distance around the polygon.
|
|
2182
|
+
"""
|
|
1986
2183
|
@property
|
|
1987
2184
|
def points(self) -> list[Vec2]:
|
|
1988
2185
|
"""
|
|
@@ -2148,36 +2345,6 @@ class Rect:
|
|
|
2148
2345
|
Raises:
|
|
2149
2346
|
ValueError: If min >= max or rectangle is larger than the clamp area.
|
|
2150
2347
|
"""
|
|
2151
|
-
def collide_point(self, point: Vec2) -> bool:
|
|
2152
|
-
"""
|
|
2153
|
-
Check if a point is inside this rectangle.
|
|
2154
|
-
|
|
2155
|
-
Args:
|
|
2156
|
-
point (Vec2): The point to check.
|
|
2157
|
-
|
|
2158
|
-
Returns:
|
|
2159
|
-
bool: True if the point is inside this rectangle.
|
|
2160
|
-
"""
|
|
2161
|
-
def collide_rect(self, other: Rect) -> bool:
|
|
2162
|
-
"""
|
|
2163
|
-
Check if this rectangle collides with another rectangle.
|
|
2164
|
-
|
|
2165
|
-
Args:
|
|
2166
|
-
other (Rect): The rectangle to check collision with.
|
|
2167
|
-
|
|
2168
|
-
Returns:
|
|
2169
|
-
bool: True if the rectangles overlap.
|
|
2170
|
-
"""
|
|
2171
|
-
def contains(self, other: Rect) -> bool:
|
|
2172
|
-
"""
|
|
2173
|
-
Check if this rectangle completely contains another rectangle.
|
|
2174
|
-
|
|
2175
|
-
Args:
|
|
2176
|
-
other (Rect): The rectangle to check.
|
|
2177
|
-
|
|
2178
|
-
Returns:
|
|
2179
|
-
bool: True if this rectangle completely contains the other.
|
|
2180
|
-
"""
|
|
2181
2348
|
def copy(self) -> Rect:
|
|
2182
2349
|
"""
|
|
2183
2350
|
Create a copy of this rectangle.
|
|
@@ -2401,21 +2568,30 @@ class Scancode(enum.IntEnum):
|
|
|
2401
2568
|
S_9: typing.ClassVar[Scancode] # value = <Scancode.S_9: 38>
|
|
2402
2569
|
S_AGAIN: typing.ClassVar[Scancode] # value = <Scancode.S_AGAIN: 121>
|
|
2403
2570
|
S_APOSTROPHE: typing.ClassVar[Scancode] # value = <Scancode.S_APOSTROPHE: 52>
|
|
2571
|
+
S_APPLICATION: typing.ClassVar[Scancode] # value = <Scancode.S_APPLICATION: 101>
|
|
2404
2572
|
S_BACKSLASH: typing.ClassVar[Scancode] # value = <Scancode.S_BACKSLASH: 49>
|
|
2405
2573
|
S_BACKSPACE: typing.ClassVar[Scancode] # value = <Scancode.S_BACKSPACE: 42>
|
|
2574
|
+
S_CALL: typing.ClassVar[Scancode] # value = <Scancode.S_CALL: 289>
|
|
2406
2575
|
S_CAPS: typing.ClassVar[Scancode] # value = <Scancode.S_CAPS: 57>
|
|
2576
|
+
S_CHANNEL_DEC: typing.ClassVar[Scancode] # value = <Scancode.S_CHANNEL_DEC: 261>
|
|
2577
|
+
S_CHANNEL_INC: typing.ClassVar[Scancode] # value = <Scancode.S_CHANNEL_INC: 260>
|
|
2407
2578
|
S_COMMA: typing.ClassVar[Scancode] # value = <Scancode.S_COMMA: 54>
|
|
2408
2579
|
S_COPY: typing.ClassVar[Scancode] # value = <Scancode.S_COPY: 124>
|
|
2409
2580
|
S_CUT: typing.ClassVar[Scancode] # value = <Scancode.S_CUT: 123>
|
|
2410
2581
|
S_DEL: typing.ClassVar[Scancode] # value = <Scancode.S_DEL: 76>
|
|
2411
2582
|
S_DOWN: typing.ClassVar[Scancode] # value = <Scancode.S_DOWN: 81>
|
|
2412
2583
|
S_END: typing.ClassVar[Scancode] # value = <Scancode.S_END: 77>
|
|
2584
|
+
S_ENDCALL: typing.ClassVar[Scancode] # value = <Scancode.S_ENDCALL: 290>
|
|
2413
2585
|
S_EQ: typing.ClassVar[Scancode] # value = <Scancode.S_EQ: 46>
|
|
2414
2586
|
S_ESC: typing.ClassVar[Scancode] # value = <Scancode.S_ESC: 41>
|
|
2587
|
+
S_EXECUTE: typing.ClassVar[Scancode] # value = <Scancode.S_EXECUTE: 116>
|
|
2415
2588
|
S_F1: typing.ClassVar[Scancode] # value = <Scancode.S_F1: 58>
|
|
2416
2589
|
S_F10: typing.ClassVar[Scancode] # value = <Scancode.S_F10: 67>
|
|
2417
2590
|
S_F11: typing.ClassVar[Scancode] # value = <Scancode.S_F11: 68>
|
|
2418
2591
|
S_F12: typing.ClassVar[Scancode] # value = <Scancode.S_F12: 69>
|
|
2592
|
+
S_F13: typing.ClassVar[Scancode] # value = <Scancode.S_F13: 104>
|
|
2593
|
+
S_F14: typing.ClassVar[Scancode] # value = <Scancode.S_F14: 105>
|
|
2594
|
+
S_F15: typing.ClassVar[Scancode] # value = <Scancode.S_F15: 106>
|
|
2419
2595
|
S_F2: typing.ClassVar[Scancode] # value = <Scancode.S_F2: 59>
|
|
2420
2596
|
S_F3: typing.ClassVar[Scancode] # value = <Scancode.S_F3: 60>
|
|
2421
2597
|
S_F4: typing.ClassVar[Scancode] # value = <Scancode.S_F4: 61>
|
|
@@ -2426,6 +2602,7 @@ class Scancode(enum.IntEnum):
|
|
|
2426
2602
|
S_F9: typing.ClassVar[Scancode] # value = <Scancode.S_F9: 66>
|
|
2427
2603
|
S_FIND: typing.ClassVar[Scancode] # value = <Scancode.S_FIND: 126>
|
|
2428
2604
|
S_GRAVE: typing.ClassVar[Scancode] # value = <Scancode.S_GRAVE: 53>
|
|
2605
|
+
S_HELP: typing.ClassVar[Scancode] # value = <Scancode.S_HELP: 117>
|
|
2429
2606
|
S_HOME: typing.ClassVar[Scancode] # value = <Scancode.S_HOME: 74>
|
|
2430
2607
|
S_INS: typing.ClassVar[Scancode] # value = <Scancode.S_INS: 73>
|
|
2431
2608
|
S_KP_0: typing.ClassVar[Scancode] # value = <Scancode.S_KP_0: 98>
|
|
@@ -2450,7 +2627,20 @@ class Scancode(enum.IntEnum):
|
|
|
2450
2627
|
S_LEFT: typing.ClassVar[Scancode] # value = <Scancode.S_LEFT: 80>
|
|
2451
2628
|
S_LGUI: typing.ClassVar[Scancode] # value = <Scancode.S_LGUI: 227>
|
|
2452
2629
|
S_LSHIFT: typing.ClassVar[Scancode] # value = <Scancode.S_LSHIFT: 225>
|
|
2630
|
+
S_MEDIA_EJECT: typing.ClassVar[Scancode] # value = <Scancode.S_MEDIA_EJECT: 270>
|
|
2631
|
+
S_MEDIA_FAST_FORWARD: typing.ClassVar[Scancode] # value = <Scancode.S_MEDIA_FAST_FORWARD: 265>
|
|
2632
|
+
S_MEDIA_NEXT: typing.ClassVar[Scancode] # value = <Scancode.S_MEDIA_NEXT: 267>
|
|
2633
|
+
S_MEDIA_PAUSE: typing.ClassVar[Scancode] # value = <Scancode.S_MEDIA_PAUSE: 263>
|
|
2634
|
+
S_MEDIA_PLAY: typing.ClassVar[Scancode] # value = <Scancode.S_MEDIA_PLAY: 262>
|
|
2635
|
+
S_MEDIA_PLAY_PAUSE: typing.ClassVar[Scancode] # value = <Scancode.S_MEDIA_PLAY_PAUSE: 271>
|
|
2636
|
+
S_MEDIA_PREV: typing.ClassVar[Scancode] # value = <Scancode.S_MEDIA_PREV: 268>
|
|
2637
|
+
S_MEDIA_REC: typing.ClassVar[Scancode] # value = <Scancode.S_MEDIA_REC: 264>
|
|
2638
|
+
S_MEDIA_REWIND: typing.ClassVar[Scancode] # value = <Scancode.S_MEDIA_REWIND: 266>
|
|
2639
|
+
S_MEDIA_SELECT: typing.ClassVar[Scancode] # value = <Scancode.S_MEDIA_SELECT: 272>
|
|
2640
|
+
S_MEDIA_STOP: typing.ClassVar[Scancode] # value = <Scancode.S_MEDIA_STOP: 269>
|
|
2641
|
+
S_MENU: typing.ClassVar[Scancode] # value = <Scancode.S_MENU: 118>
|
|
2453
2642
|
S_MINUS: typing.ClassVar[Scancode] # value = <Scancode.S_MINUS: 45>
|
|
2643
|
+
S_MODE: typing.ClassVar[Scancode] # value = <Scancode.S_MODE: 257>
|
|
2454
2644
|
S_MUTE: typing.ClassVar[Scancode] # value = <Scancode.S_MUTE: 127>
|
|
2455
2645
|
S_NUMLOCK: typing.ClassVar[Scancode] # value = <Scancode.S_NUMLOCK: 83>
|
|
2456
2646
|
S_PASTE: typing.ClassVar[Scancode] # value = <Scancode.S_PASTE: 125>
|
|
@@ -2458,6 +2648,7 @@ class Scancode(enum.IntEnum):
|
|
|
2458
2648
|
S_PERIOD: typing.ClassVar[Scancode] # value = <Scancode.S_PERIOD: 55>
|
|
2459
2649
|
S_PGDOWN: typing.ClassVar[Scancode] # value = <Scancode.S_PGDOWN: 78>
|
|
2460
2650
|
S_PGUP: typing.ClassVar[Scancode] # value = <Scancode.S_PGUP: 75>
|
|
2651
|
+
S_POWER: typing.ClassVar[Scancode] # value = <Scancode.S_POWER: 102>
|
|
2461
2652
|
S_PRTSCR: typing.ClassVar[Scancode] # value = <Scancode.S_PRTSCR: 70>
|
|
2462
2653
|
S_RALT: typing.ClassVar[Scancode] # value = <Scancode.S_RALT: 230>
|
|
2463
2654
|
S_RBRACKET: typing.ClassVar[Scancode] # value = <Scancode.S_RBRACKET: 48>
|
|
@@ -2467,14 +2658,20 @@ class Scancode(enum.IntEnum):
|
|
|
2467
2658
|
S_RIGHT: typing.ClassVar[Scancode] # value = <Scancode.S_RIGHT: 79>
|
|
2468
2659
|
S_RSHIFT: typing.ClassVar[Scancode] # value = <Scancode.S_RSHIFT: 229>
|
|
2469
2660
|
S_SCRLK: typing.ClassVar[Scancode] # value = <Scancode.S_SCRLK: 71>
|
|
2661
|
+
S_SELECT: typing.ClassVar[Scancode] # value = <Scancode.S_SELECT: 119>
|
|
2470
2662
|
S_SEMICOLON: typing.ClassVar[Scancode] # value = <Scancode.S_SEMICOLON: 51>
|
|
2471
2663
|
S_SLASH: typing.ClassVar[Scancode] # value = <Scancode.S_SLASH: 56>
|
|
2664
|
+
S_SLEEP: typing.ClassVar[Scancode] # value = <Scancode.S_SLEEP: 258>
|
|
2665
|
+
S_SOFTLEFT: typing.ClassVar[Scancode] # value = <Scancode.S_SOFTLEFT: 287>
|
|
2666
|
+
S_SOFTRIGHT: typing.ClassVar[Scancode] # value = <Scancode.S_SOFTRIGHT: 288>
|
|
2472
2667
|
S_SPACE: typing.ClassVar[Scancode] # value = <Scancode.S_SPACE: 44>
|
|
2668
|
+
S_STOP: typing.ClassVar[Scancode] # value = <Scancode.S_STOP: 120>
|
|
2473
2669
|
S_TAB: typing.ClassVar[Scancode] # value = <Scancode.S_TAB: 43>
|
|
2474
2670
|
S_UNDO: typing.ClassVar[Scancode] # value = <Scancode.S_UNDO: 122>
|
|
2475
2671
|
S_UP: typing.ClassVar[Scancode] # value = <Scancode.S_UP: 82>
|
|
2476
2672
|
S_VOLDOWN: typing.ClassVar[Scancode] # value = <Scancode.S_VOLDOWN: 129>
|
|
2477
2673
|
S_VOLUP: typing.ClassVar[Scancode] # value = <Scancode.S_VOLUP: 128>
|
|
2674
|
+
S_WAKE: typing.ClassVar[Scancode] # value = <Scancode.S_WAKE: 259>
|
|
2478
2675
|
S_a: typing.ClassVar[Scancode] # value = <Scancode.S_a: 4>
|
|
2479
2676
|
S_b: typing.ClassVar[Scancode] # value = <Scancode.S_b: 5>
|
|
2480
2677
|
S_c: typing.ClassVar[Scancode] # value = <Scancode.S_c: 6>
|
|
@@ -2508,6 +2705,187 @@ class Scancode(enum.IntEnum):
|
|
|
2508
2705
|
"""
|
|
2509
2706
|
Convert to a string according to format_spec.
|
|
2510
2707
|
"""
|
|
2708
|
+
class ShaderState:
|
|
2709
|
+
"""
|
|
2710
|
+
Encapsulates a GPU shader and its associated render state.
|
|
2711
|
+
"""
|
|
2712
|
+
def __init__(self, fragment_file_path: str, uniform_buffer_count: typing.SupportsInt = 0, sampler_count: typing.SupportsInt = 1) -> None:
|
|
2713
|
+
"""
|
|
2714
|
+
Creates a ShaderState from the specified fragment shader file.
|
|
2715
|
+
|
|
2716
|
+
Parameters:
|
|
2717
|
+
fragment_file_path (str): Path to the fragment shader file.
|
|
2718
|
+
uniform_buffer_count (int, optional): Number of uniform buffers used by the shader. Default is 0.
|
|
2719
|
+
sampler_count (int, optional): Number of samplers used by the shader. Default is 1.
|
|
2720
|
+
"""
|
|
2721
|
+
def bind(self) -> None:
|
|
2722
|
+
"""
|
|
2723
|
+
Binds this shader state to the current render pass, making it active for subsequent draw calls.
|
|
2724
|
+
"""
|
|
2725
|
+
def set_uniform(self, binding: typing.SupportsInt, data: collections.abc.Buffer) -> None:
|
|
2726
|
+
"""
|
|
2727
|
+
Sets uniform data for the fragment shader at the specified binding point.
|
|
2728
|
+
|
|
2729
|
+
Parameters:
|
|
2730
|
+
binding (int): The uniform buffer binding index.
|
|
2731
|
+
data (buffer): A buffer or bytes object containing the uniform data to upload.
|
|
2732
|
+
"""
|
|
2733
|
+
def unbind(self) -> None:
|
|
2734
|
+
"""
|
|
2735
|
+
Unbinds the current shader state, reverting to the default render state.
|
|
2736
|
+
"""
|
|
2737
|
+
class SheetStrip:
|
|
2738
|
+
"""
|
|
2739
|
+
|
|
2740
|
+
A descriptor for one horizontal strip (row) in a sprite sheet.
|
|
2741
|
+
|
|
2742
|
+
Defines a single animation within a sprite sheet by specifying the animation name,
|
|
2743
|
+
the number of frames to extract from the strip, and the playback speed in frames
|
|
2744
|
+
per second (FPS).
|
|
2745
|
+
|
|
2746
|
+
"""
|
|
2747
|
+
def __init__(self, name: str, frame_count: typing.SupportsInt, fps: typing.SupportsInt) -> None:
|
|
2748
|
+
"""
|
|
2749
|
+
Create a sprite sheet strip definition.
|
|
2750
|
+
|
|
2751
|
+
Args:
|
|
2752
|
+
name (str): Unique identifier for this animation.
|
|
2753
|
+
frame_count (int): Number of frames to extract from this strip/row.
|
|
2754
|
+
fps (int): Frames per second for playback timing.
|
|
2755
|
+
"""
|
|
2756
|
+
@property
|
|
2757
|
+
def fps(self) -> int:
|
|
2758
|
+
"""
|
|
2759
|
+
The playback speed in frames per second.
|
|
2760
|
+
|
|
2761
|
+
Determines how fast the animation plays. Higher values result in faster playback.
|
|
2762
|
+
|
|
2763
|
+
Type:
|
|
2764
|
+
int: The frames per second for this animation.
|
|
2765
|
+
"""
|
|
2766
|
+
@fps.setter
|
|
2767
|
+
def fps(self, arg0: typing.SupportsInt) -> None:
|
|
2768
|
+
...
|
|
2769
|
+
@property
|
|
2770
|
+
def frame_count(self) -> int:
|
|
2771
|
+
"""
|
|
2772
|
+
The number of frames in this animation strip.
|
|
2773
|
+
|
|
2774
|
+
Specifies how many frames to extract from the horizontal strip in the sprite sheet,
|
|
2775
|
+
reading from left to right.
|
|
2776
|
+
|
|
2777
|
+
Type:
|
|
2778
|
+
int: The number of frames (must be positive).
|
|
2779
|
+
"""
|
|
2780
|
+
@frame_count.setter
|
|
2781
|
+
def frame_count(self, arg0: typing.SupportsInt) -> None:
|
|
2782
|
+
...
|
|
2783
|
+
@property
|
|
2784
|
+
def name(self) -> str:
|
|
2785
|
+
"""
|
|
2786
|
+
The unique name identifier for this animation strip.
|
|
2787
|
+
|
|
2788
|
+
Type:
|
|
2789
|
+
str: The animation name used to reference this strip.
|
|
2790
|
+
"""
|
|
2791
|
+
@name.setter
|
|
2792
|
+
def name(self, arg0: str) -> None:
|
|
2793
|
+
...
|
|
2794
|
+
class Text:
|
|
2795
|
+
"""
|
|
2796
|
+
|
|
2797
|
+
A text object for rendering text to the active renderer.
|
|
2798
|
+
|
|
2799
|
+
This class handles the rendered text instance. You must provide a Font object
|
|
2800
|
+
when creating a Text instance.
|
|
2801
|
+
|
|
2802
|
+
Note:
|
|
2803
|
+
A window/renderer must be created before using text. Typically you should
|
|
2804
|
+
call kn.window.create(...) first, which initializes the text engine.
|
|
2805
|
+
|
|
2806
|
+
"""
|
|
2807
|
+
def __init__(self, font: Font) -> None:
|
|
2808
|
+
"""
|
|
2809
|
+
Create a Text object.
|
|
2810
|
+
|
|
2811
|
+
Args:
|
|
2812
|
+
font (Font): The font to use for rendering this text.
|
|
2813
|
+
|
|
2814
|
+
Raises:
|
|
2815
|
+
RuntimeError: If text creation fails.
|
|
2816
|
+
"""
|
|
2817
|
+
def draw(self, pos: typing.Any = None, anchor: Anchor = Anchor.TOP_LEFT) -> None:
|
|
2818
|
+
"""
|
|
2819
|
+
Draw the text to the renderer at the specified position with alignment.
|
|
2820
|
+
|
|
2821
|
+
Args:
|
|
2822
|
+
pos (Vec2 | None): The position in pixels. Defaults to (0, 0).
|
|
2823
|
+
anchor (Anchor): The anchor point for alignment. Defaults to TopLeft.
|
|
2824
|
+
"""
|
|
2825
|
+
def get_rect(self) -> Rect:
|
|
2826
|
+
"""
|
|
2827
|
+
Get the bounding rectangle of the current text.
|
|
2828
|
+
|
|
2829
|
+
Returns:
|
|
2830
|
+
Rect: A rectangle with x=0, y=0, and width/height of the text.
|
|
2831
|
+
"""
|
|
2832
|
+
def set_font(self, font: Font) -> None:
|
|
2833
|
+
"""
|
|
2834
|
+
Set the font to use for rendering this text.
|
|
2835
|
+
|
|
2836
|
+
Args:
|
|
2837
|
+
font (Font): The font to use.
|
|
2838
|
+
"""
|
|
2839
|
+
@property
|
|
2840
|
+
def color(self) -> Color:
|
|
2841
|
+
"""
|
|
2842
|
+
Get or set the color of the rendered text.
|
|
2843
|
+
"""
|
|
2844
|
+
@color.setter
|
|
2845
|
+
def color(self, arg1: Color) -> None:
|
|
2846
|
+
...
|
|
2847
|
+
@property
|
|
2848
|
+
def height(self) -> int:
|
|
2849
|
+
"""
|
|
2850
|
+
Get the height in pixels of the current text.
|
|
2851
|
+
|
|
2852
|
+
Returns:
|
|
2853
|
+
int: The text height.
|
|
2854
|
+
"""
|
|
2855
|
+
@property
|
|
2856
|
+
def size(self) -> Vec2:
|
|
2857
|
+
"""
|
|
2858
|
+
Get the size (width, height) of the current text as a Vec2.
|
|
2859
|
+
|
|
2860
|
+
Returns:
|
|
2861
|
+
Vec2: The text dimensions.
|
|
2862
|
+
"""
|
|
2863
|
+
@property
|
|
2864
|
+
def text(self) -> str:
|
|
2865
|
+
"""
|
|
2866
|
+
Get or set the text string to be rendered.
|
|
2867
|
+
"""
|
|
2868
|
+
@text.setter
|
|
2869
|
+
def text(self, arg1: str) -> None:
|
|
2870
|
+
...
|
|
2871
|
+
@property
|
|
2872
|
+
def width(self) -> int:
|
|
2873
|
+
"""
|
|
2874
|
+
Get the width in pixels of the current text.
|
|
2875
|
+
|
|
2876
|
+
Returns:
|
|
2877
|
+
int: The text width.
|
|
2878
|
+
"""
|
|
2879
|
+
@property
|
|
2880
|
+
def wrap_width(self) -> int:
|
|
2881
|
+
"""
|
|
2882
|
+
Get or set the wrap width in pixels for text wrapping.
|
|
2883
|
+
|
|
2884
|
+
Set to 0 to disable wrapping. Negative values are clamped to 0.
|
|
2885
|
+
"""
|
|
2886
|
+
@wrap_width.setter
|
|
2887
|
+
def wrap_width(self, arg1: typing.SupportsInt) -> None:
|
|
2888
|
+
...
|
|
2511
2889
|
class Texture:
|
|
2512
2890
|
"""
|
|
2513
2891
|
|
|
@@ -2645,9 +3023,6 @@ class Tile:
|
|
|
2645
3023
|
"""
|
|
2646
3024
|
|
|
2647
3025
|
Represents a single tile instance in a layer.
|
|
2648
|
-
|
|
2649
|
-
Contains source and destination rectangles, a collider, flip flags, rotation angle,
|
|
2650
|
-
and a reference to its owning Layer.
|
|
2651
3026
|
|
|
2652
3027
|
"""
|
|
2653
3028
|
@property
|
|
@@ -2676,7 +3051,7 @@ class Tile:
|
|
|
2676
3051
|
Whether the tile is flipped horizontally.
|
|
2677
3052
|
"""
|
|
2678
3053
|
@property
|
|
2679
|
-
def layer(self) ->
|
|
3054
|
+
def layer(self) -> TileLayer:
|
|
2680
3055
|
"""
|
|
2681
3056
|
Get the owning Layer.
|
|
2682
3057
|
|
|
@@ -2693,6 +3068,76 @@ class Tile:
|
|
|
2693
3068
|
"""
|
|
2694
3069
|
Whether the tile is flipped vertically.
|
|
2695
3070
|
"""
|
|
3071
|
+
class TileLayer:
|
|
3072
|
+
"""
|
|
3073
|
+
|
|
3074
|
+
A layer of a tile map.
|
|
3075
|
+
|
|
3076
|
+
Layers can be either tile layers or object layers and contain a list of tiles.
|
|
3077
|
+
|
|
3078
|
+
"""
|
|
3079
|
+
class Type(enum.IntEnum):
|
|
3080
|
+
"""
|
|
3081
|
+
|
|
3082
|
+
The type of a Layer.
|
|
3083
|
+
|
|
3084
|
+
"""
|
|
3085
|
+
OBJECT: typing.ClassVar[TileLayer.Type] # value = <Type.OBJECT: 0>
|
|
3086
|
+
TILE: typing.ClassVar[TileLayer.Type] # value = <Type.TILE: 1>
|
|
3087
|
+
@classmethod
|
|
3088
|
+
def __new__(cls, value):
|
|
3089
|
+
...
|
|
3090
|
+
def __format__(self, format_spec):
|
|
3091
|
+
"""
|
|
3092
|
+
Convert to a string according to format_spec.
|
|
3093
|
+
"""
|
|
3094
|
+
OBJECT: typing.ClassVar[TileLayer.Type] # value = <Type.OBJECT: 0>
|
|
3095
|
+
TILE: typing.ClassVar[TileLayer.Type] # value = <Type.TILE: 1>
|
|
3096
|
+
def get_from_area(self, area: Rect) -> list[Tile]:
|
|
3097
|
+
"""
|
|
3098
|
+
Get all tiles whose destination rectangles fall within a query rect.
|
|
3099
|
+
|
|
3100
|
+
Args:
|
|
3101
|
+
area (Rect): The world-space rectangle to test.
|
|
3102
|
+
|
|
3103
|
+
Returns:
|
|
3104
|
+
list[Tile]: Tiles intersecting the given area.
|
|
3105
|
+
"""
|
|
3106
|
+
def get_tile_at(self, column: typing.SupportsInt, row: typing.SupportsInt) -> pykraken._core.Tile | None:
|
|
3107
|
+
"""
|
|
3108
|
+
Get the tile located at the specified grid coordinates.
|
|
3109
|
+
|
|
3110
|
+
Args:
|
|
3111
|
+
column (int): The tile column index.
|
|
3112
|
+
row (int): The tile row index.
|
|
3113
|
+
|
|
3114
|
+
Returns:
|
|
3115
|
+
Tile | None: The tile at the grid coordinate, or None if empty/out of range.
|
|
3116
|
+
"""
|
|
3117
|
+
def render(self) -> None:
|
|
3118
|
+
"""
|
|
3119
|
+
Render the layer.
|
|
3120
|
+
"""
|
|
3121
|
+
@property
|
|
3122
|
+
def is_visible(self) -> bool:
|
|
3123
|
+
"""
|
|
3124
|
+
Whether the layer is visible.
|
|
3125
|
+
"""
|
|
3126
|
+
@property
|
|
3127
|
+
def name(self) -> str:
|
|
3128
|
+
"""
|
|
3129
|
+
The name of the layer.
|
|
3130
|
+
"""
|
|
3131
|
+
@property
|
|
3132
|
+
def tiles(self) -> list[Tile]:
|
|
3133
|
+
"""
|
|
3134
|
+
The list of Tile instances contained in this layer.
|
|
3135
|
+
"""
|
|
3136
|
+
@property
|
|
3137
|
+
def type(self) -> TileLayer.Type:
|
|
3138
|
+
"""
|
|
3139
|
+
The layer type (OBJECT or TILE).
|
|
3140
|
+
"""
|
|
2696
3141
|
class TileMap:
|
|
2697
3142
|
"""
|
|
2698
3143
|
|
|
@@ -2702,7 +3147,7 @@ class TileMap:
|
|
|
2702
3147
|
|
|
2703
3148
|
"""
|
|
2704
3149
|
@staticmethod
|
|
2705
|
-
def get_tile_collection(layers: collections.abc.Sequence[
|
|
3150
|
+
def get_tile_collection(layers: collections.abc.Sequence[TileLayer]) -> list[Tile]:
|
|
2706
3151
|
"""
|
|
2707
3152
|
Collect all tiles from the provided layers into a single list.
|
|
2708
3153
|
|
|
@@ -2723,7 +3168,7 @@ class TileMap:
|
|
|
2723
3168
|
Raises:
|
|
2724
3169
|
RuntimeError: If the TMX or TSX files cannot be loaded or parsed.
|
|
2725
3170
|
"""
|
|
2726
|
-
def get_layer(self, name: str, type:
|
|
3171
|
+
def get_layer(self, name: str, type: TileLayer.Type = TileLayer.Type.TILE) -> TileLayer:
|
|
2727
3172
|
"""
|
|
2728
3173
|
Get a layer by name and type.
|
|
2729
3174
|
|
|
@@ -2737,7 +3182,7 @@ class TileMap:
|
|
|
2737
3182
|
Raises:
|
|
2738
3183
|
ValueError: If no matching layer is found or the type doesn't match.
|
|
2739
3184
|
"""
|
|
2740
|
-
def get_layers(self) -> list[
|
|
3185
|
+
def get_layers(self) -> list[TileLayer]:
|
|
2741
3186
|
"""
|
|
2742
3187
|
Get all layers in the map.
|
|
2743
3188
|
|
|
@@ -3227,11 +3672,12 @@ AUDIO_DEVICE_REMOVED: EventType # value = <EventType.AUDIO_DEVICE_REMOVED: 4353
|
|
|
3227
3672
|
BOTTOM_LEFT: Anchor # value = <Anchor.BOTTOM_LEFT: 6>
|
|
3228
3673
|
BOTTOM_MID: Anchor # value = <Anchor.BOTTOM_MID: 7>
|
|
3229
3674
|
BOTTOM_RIGHT: Anchor # value = <Anchor.BOTTOM_RIGHT: 8>
|
|
3230
|
-
|
|
3231
|
-
|
|
3232
|
-
|
|
3233
|
-
|
|
3675
|
+
CAMERA_DEVICE_ADDED: EventType # value = <EventType.CAMERA_DEVICE_ADDED: 5120>
|
|
3676
|
+
CAMERA_DEVICE_APPROVED: EventType # value = <EventType.CAMERA_DEVICE_APPROVED: 5122>
|
|
3677
|
+
CAMERA_DEVICE_DENIED: EventType # value = <EventType.CAMERA_DEVICE_DENIED: 5123>
|
|
3678
|
+
CAMERA_DEVICE_REMOVED: EventType # value = <EventType.CAMERA_DEVICE_REMOVED: 5121>
|
|
3234
3679
|
CENTER: Anchor # value = <Anchor.CENTER: 4>
|
|
3680
|
+
CLIPBOARD_UPDATE: EventType # value = <EventType.CLIPBOARD_UPDATE: 2304>
|
|
3235
3681
|
C_BACK: GamepadButton # value = <GamepadButton.C_BACK: 4>
|
|
3236
3682
|
C_DPAD_DOWN: GamepadButton # value = <GamepadButton.C_DPAD_DOWN: 12>
|
|
3237
3683
|
C_DPAD_LEFT: GamepadButton # value = <GamepadButton.C_DPAD_LEFT: 13>
|
|
@@ -3263,21 +3709,39 @@ C_SWITCH_PRO: GamepadType # value = <GamepadType.C_SWITCH_PRO: 7>
|
|
|
3263
3709
|
C_WEST: GamepadButton # value = <GamepadButton.C_WEST: 2>
|
|
3264
3710
|
C_XBOX_360: GamepadType # value = <GamepadType.C_XBOX_360: 2>
|
|
3265
3711
|
C_XBOX_ONE: GamepadType # value = <GamepadType.C_XBOX_ONE: 3>
|
|
3712
|
+
DID_ENTER_BACKGROUND: EventType # value = <EventType.DID_ENTER_BACKGROUND: 260>
|
|
3713
|
+
DID_ENTER_FOREGROUND: EventType # value = <EventType.DID_ENTER_FOREGROUND: 262>
|
|
3714
|
+
DISPLAY_ADDED: EventType # value = <EventType.DISPLAY_ADDED: 338>
|
|
3715
|
+
DISPLAY_CONTENT_SCALE_CHANGED: EventType # value = <EventType.DISPLAY_CONTENT_SCALE_CHANGED: 343>
|
|
3716
|
+
DISPLAY_CURRENT_MODE_CHANGED: EventType # value = <EventType.DISPLAY_CURRENT_MODE_CHANGED: 342>
|
|
3717
|
+
DISPLAY_DESKTOP_MODE_CHANGED: EventType # value = <EventType.DISPLAY_DESKTOP_MODE_CHANGED: 341>
|
|
3718
|
+
DISPLAY_MOVED: EventType # value = <EventType.DISPLAY_MOVED: 340>
|
|
3719
|
+
DISPLAY_ORIENTATION: EventType # value = <EventType.DISPLAY_ORIENTATION: 337>
|
|
3720
|
+
DISPLAY_REMOVED: EventType # value = <EventType.DISPLAY_REMOVED: 339>
|
|
3266
3721
|
DROP_BEGIN: EventType # value = <EventType.DROP_BEGIN: 4098>
|
|
3267
3722
|
DROP_COMPLETE: EventType # value = <EventType.DROP_COMPLETE: 4099>
|
|
3268
3723
|
DROP_FILE: EventType # value = <EventType.DROP_FILE: 4096>
|
|
3269
3724
|
DROP_POSITION: EventType # value = <EventType.DROP_POSITION: 4100>
|
|
3270
3725
|
DROP_TEXT: EventType # value = <EventType.DROP_TEXT: 4097>
|
|
3726
|
+
FINGER_CANCELED: EventType # value = <EventType.FINGER_CANCELED: 1795>
|
|
3727
|
+
FINGER_DOWN: EventType # value = <EventType.FINGER_DOWN: 1792>
|
|
3728
|
+
FINGER_MOTION: EventType # value = <EventType.FINGER_MOTION: 1794>
|
|
3729
|
+
FINGER_UP: EventType # value = <EventType.FINGER_UP: 1793>
|
|
3271
3730
|
GAMEPAD_ADDED: EventType # value = <EventType.GAMEPAD_ADDED: 1619>
|
|
3272
3731
|
GAMEPAD_AXIS_MOTION: EventType # value = <EventType.GAMEPAD_AXIS_MOTION: 1616>
|
|
3273
3732
|
GAMEPAD_BUTTON_DOWN: EventType # value = <EventType.GAMEPAD_BUTTON_DOWN: 1617>
|
|
3274
3733
|
GAMEPAD_BUTTON_UP: EventType # value = <EventType.GAMEPAD_BUTTON_UP: 1618>
|
|
3734
|
+
GAMEPAD_REMAPPED: EventType # value = <EventType.GAMEPAD_REMAPPED: 1621>
|
|
3275
3735
|
GAMEPAD_REMOVED: EventType # value = <EventType.GAMEPAD_REMOVED: 1620>
|
|
3736
|
+
GAMEPAD_SENSOR_UPDATE: EventType # value = <EventType.GAMEPAD_SENSOR_UPDATE: 1625>
|
|
3737
|
+
GAMEPAD_STEAM_HANDLE_UPDATED: EventType # value = <EventType.GAMEPAD_STEAM_HANDLE_UPDATED: 1627>
|
|
3276
3738
|
GAMEPAD_TOUCHPAD_DOWN: EventType # value = <EventType.GAMEPAD_TOUCHPAD_DOWN: 1622>
|
|
3277
3739
|
GAMEPAD_TOUCHPAD_MOTION: EventType # value = <EventType.GAMEPAD_TOUCHPAD_MOTION: 1623>
|
|
3278
3740
|
GAMEPAD_TOUCHPAD_UP: EventType # value = <EventType.GAMEPAD_TOUCHPAD_UP: 1624>
|
|
3741
|
+
GAMEPAD_UPDATE_COMPLETE: EventType # value = <EventType.GAMEPAD_UPDATE_COMPLETE: 1626>
|
|
3279
3742
|
KEYBOARD_ADDED: EventType # value = <EventType.KEYBOARD_ADDED: 773>
|
|
3280
3743
|
KEYBOARD_REMOVED: EventType # value = <EventType.KEYBOARD_REMOVED: 774>
|
|
3744
|
+
KEYMAP_CHANGED: EventType # value = <EventType.KEYMAP_CHANGED: 772>
|
|
3281
3745
|
KEY_DOWN: EventType # value = <EventType.KEY_DOWN: 768>
|
|
3282
3746
|
KEY_UP: EventType # value = <EventType.KEY_UP: 769>
|
|
3283
3747
|
K_0: Keycode # value = <Keycode.K_0: 48>
|
|
@@ -3292,12 +3756,16 @@ K_8: Keycode # value = <Keycode.K_8: 56>
|
|
|
3292
3756
|
K_9: Keycode # value = <Keycode.K_9: 57>
|
|
3293
3757
|
K_AGAIN: Keycode # value = <Keycode.K_AGAIN: 1073741945>
|
|
3294
3758
|
K_AMPERSAND: Keycode # value = <Keycode.K_AMPERSAND: 38>
|
|
3759
|
+
K_APPLICATION: Keycode # value = <Keycode.K_APPLICATION: 1073741925>
|
|
3295
3760
|
K_ASTERISK: Keycode # value = <Keycode.K_ASTERISK: 42>
|
|
3296
3761
|
K_AT: Keycode # value = <Keycode.K_AT: 64>
|
|
3297
3762
|
K_BACKSLASH: Keycode # value = <Keycode.K_BACKSLASH: 92>
|
|
3298
3763
|
K_BACKSPACE: Keycode # value = <Keycode.K_BACKSPACE: 8>
|
|
3764
|
+
K_CALL: Keycode # value = <Keycode.K_CALL: 1073742113>
|
|
3299
3765
|
K_CAPS: Keycode # value = <Keycode.K_CAPS: 1073741881>
|
|
3300
3766
|
K_CARET: Keycode # value = <Keycode.K_CARET: 94>
|
|
3767
|
+
K_CHANNEL_DEC: Keycode # value = <Keycode.K_CHANNEL_DEC: 1073742085>
|
|
3768
|
+
K_CHANNEL_INC: Keycode # value = <Keycode.K_CHANNEL_INC: 1073742084>
|
|
3301
3769
|
K_COLON: Keycode # value = <Keycode.K_COLON: 58>
|
|
3302
3770
|
K_COMMA: Keycode # value = <Keycode.K_COMMA: 44>
|
|
3303
3771
|
K_COPY: Keycode # value = <Keycode.K_COPY: 1073741948>
|
|
@@ -3307,13 +3775,18 @@ K_DEL: Keycode # value = <Keycode.K_DEL: 127>
|
|
|
3307
3775
|
K_DOLLAR: Keycode # value = <Keycode.K_DOLLAR: 36>
|
|
3308
3776
|
K_DOWN: Keycode # value = <Keycode.K_DOWN: 1073741905>
|
|
3309
3777
|
K_END: Keycode # value = <Keycode.K_END: 1073741901>
|
|
3778
|
+
K_ENDCALL: Keycode # value = <Keycode.K_ENDCALL: 1073742114>
|
|
3310
3779
|
K_EQ: Keycode # value = <Keycode.K_EQ: 61>
|
|
3311
3780
|
K_ESC: Keycode # value = <Keycode.K_ESC: 27>
|
|
3312
3781
|
K_EXCLAIM: Keycode # value = <Keycode.K_EXCLAIM: 33>
|
|
3782
|
+
K_EXECUTE: Keycode # value = <Keycode.K_EXECUTE: 1073741940>
|
|
3313
3783
|
K_F1: Keycode # value = <Keycode.K_F1: 1073741882>
|
|
3314
3784
|
K_F10: Keycode # value = <Keycode.K_F10: 1073741891>
|
|
3315
3785
|
K_F11: Keycode # value = <Keycode.K_F11: 1073741892>
|
|
3316
3786
|
K_F12: Keycode # value = <Keycode.K_F12: 1073741893>
|
|
3787
|
+
K_F13: Keycode # value = <Keycode.K_F13: 1073741928>
|
|
3788
|
+
K_F14: Keycode # value = <Keycode.K_F14: 1073741929>
|
|
3789
|
+
K_F15: Keycode # value = <Keycode.K_F15: 1073741930>
|
|
3317
3790
|
K_F2: Keycode # value = <Keycode.K_F2: 1073741883>
|
|
3318
3791
|
K_F3: Keycode # value = <Keycode.K_F3: 1073741884>
|
|
3319
3792
|
K_F4: Keycode # value = <Keycode.K_F4: 1073741885>
|
|
@@ -3326,6 +3799,7 @@ K_FIND: Keycode # value = <Keycode.K_FIND: 1073741950>
|
|
|
3326
3799
|
K_GRAVE: Keycode # value = <Keycode.K_GRAVE: 96>
|
|
3327
3800
|
K_GT: Keycode # value = <Keycode.K_GT: 62>
|
|
3328
3801
|
K_HASH: Keycode # value = <Keycode.K_HASH: 35>
|
|
3802
|
+
K_HELP: Keycode # value = <Keycode.K_HELP: 1073741941>
|
|
3329
3803
|
K_HOME: Keycode # value = <Keycode.K_HOME: 1073741898>
|
|
3330
3804
|
K_INS: Keycode # value = <Keycode.K_INS: 1073741897>
|
|
3331
3805
|
K_KP_0: Keycode # value = <Keycode.K_KP_0: 1073741922>
|
|
@@ -3353,7 +3827,20 @@ K_LGUI: Keycode # value = <Keycode.K_LGUI: 1073742051>
|
|
|
3353
3827
|
K_LPAREN: Keycode # value = <Keycode.K_LPAREN: 40>
|
|
3354
3828
|
K_LSHIFT: Keycode # value = <Keycode.K_LSHIFT: 1073742049>
|
|
3355
3829
|
K_LT: Keycode # value = <Keycode.K_LT: 60>
|
|
3830
|
+
K_MEDIA_EJECT: Keycode # value = <Keycode.K_MEDIA_EJECT: 1073742094>
|
|
3831
|
+
K_MEDIA_FF: Keycode # value = <Keycode.K_MEDIA_FF: 1073742089>
|
|
3832
|
+
K_MEDIA_NEXT: Keycode # value = <Keycode.K_MEDIA_NEXT: 1073742091>
|
|
3833
|
+
K_MEDIA_PAUSE: Keycode # value = <Keycode.K_MEDIA_PAUSE: 1073742087>
|
|
3834
|
+
K_MEDIA_PLAY: Keycode # value = <Keycode.K_MEDIA_PLAY: 1073742086>
|
|
3835
|
+
K_MEDIA_PLAY_PAUSE: Keycode # value = <Keycode.K_MEDIA_PLAY_PAUSE: 1073742095>
|
|
3836
|
+
K_MEDIA_PREV: Keycode # value = <Keycode.K_MEDIA_PREV: 1073742092>
|
|
3837
|
+
K_MEDIA_REC: Keycode # value = <Keycode.K_MEDIA_REC: 1073742088>
|
|
3838
|
+
K_MEDIA_REWIND: Keycode # value = <Keycode.K_MEDIA_REWIND: 1073742090>
|
|
3839
|
+
K_MEDIA_SELECT: Keycode # value = <Keycode.K_MEDIA_SELECT: 1073742096>
|
|
3840
|
+
K_MEDIA_STOP: Keycode # value = <Keycode.K_MEDIA_STOP: 1073742093>
|
|
3841
|
+
K_MENU: Keycode # value = <Keycode.K_MENU: 1073741942>
|
|
3356
3842
|
K_MINUS: Keycode # value = <Keycode.K_MINUS: 45>
|
|
3843
|
+
K_MODE: Keycode # value = <Keycode.K_MODE: 1073742081>
|
|
3357
3844
|
K_MUTE: Keycode # value = <Keycode.K_MUTE: 1073741951>
|
|
3358
3845
|
K_NUMLOCK: Keycode # value = <Keycode.K_NUMLOCK: 1073741907>
|
|
3359
3846
|
K_PASTE: Keycode # value = <Keycode.K_PASTE: 1073741949>
|
|
@@ -3364,6 +3851,7 @@ K_PGDOWN: Keycode # value = <Keycode.K_PGDOWN: 1073741902>
|
|
|
3364
3851
|
K_PGUP: Keycode # value = <Keycode.K_PGUP: 1073741899>
|
|
3365
3852
|
K_PIPE: Keycode # value = <Keycode.K_PIPE: 124>
|
|
3366
3853
|
K_PLUS: Keycode # value = <Keycode.K_PLUS: 43>
|
|
3854
|
+
K_POWER: Keycode # value = <Keycode.K_POWER: 1073741926>
|
|
3367
3855
|
K_PRTSCR: Keycode # value = <Keycode.K_PRTSCR: 1073741894>
|
|
3368
3856
|
K_QUESTION: Keycode # value = <Keycode.K_QUESTION: 63>
|
|
3369
3857
|
K_RALT: Keycode # value = <Keycode.K_RALT: 1073742054>
|
|
@@ -3376,17 +3864,24 @@ K_RIGHT: Keycode # value = <Keycode.K_RIGHT: 1073741903>
|
|
|
3376
3864
|
K_RPAREN: Keycode # value = <Keycode.K_RPAREN: 41>
|
|
3377
3865
|
K_RSHIFT: Keycode # value = <Keycode.K_RSHIFT: 1073742053>
|
|
3378
3866
|
K_SCRLK: Keycode # value = <Keycode.K_SCRLK: 1073741895>
|
|
3867
|
+
K_SELECT: Keycode # value = <Keycode.K_SELECT: 1073741943>
|
|
3379
3868
|
K_SEMICOLON: Keycode # value = <Keycode.K_SEMICOLON: 59>
|
|
3380
3869
|
K_SGLQUOTE: Keycode # value = <Keycode.K_SGLQUOTE: 39>
|
|
3381
3870
|
K_SLASH: Keycode # value = <Keycode.K_SLASH: 47>
|
|
3871
|
+
K_SLEEP: Keycode # value = <Keycode.K_SLEEP: 1073742082>
|
|
3872
|
+
K_SOFTLEFT: Keycode # value = <Keycode.K_SOFTLEFT: 1073742111>
|
|
3873
|
+
K_SOFTRIGHT: Keycode # value = <Keycode.K_SOFTRIGHT: 1073742112>
|
|
3382
3874
|
K_SPACE: Keycode # value = <Keycode.K_SPACE: 32>
|
|
3875
|
+
K_STOP: Keycode # value = <Keycode.K_STOP: 1073741944>
|
|
3383
3876
|
K_TAB: Keycode # value = <Keycode.K_TAB: 9>
|
|
3384
3877
|
K_TILDE: Keycode # value = <Keycode.K_TILDE: 126>
|
|
3385
3878
|
K_UNDERSCORE: Keycode # value = <Keycode.K_UNDERSCORE: 95>
|
|
3386
3879
|
K_UNDO: Keycode # value = <Keycode.K_UNDO: 1073741946>
|
|
3880
|
+
K_UNKNOWN: Keycode # value = <Keycode.K_UNKNOWN: 0>
|
|
3387
3881
|
K_UP: Keycode # value = <Keycode.K_UP: 1073741906>
|
|
3388
3882
|
K_VOLDOWN: Keycode # value = <Keycode.K_VOLDOWN: 1073741953>
|
|
3389
3883
|
K_VOLUP: Keycode # value = <Keycode.K_VOLUP: 1073741952>
|
|
3884
|
+
K_WAKE: Keycode # value = <Keycode.K_WAKE: 1073742083>
|
|
3390
3885
|
K_a: Keycode # value = <Keycode.K_a: 97>
|
|
3391
3886
|
K_b: Keycode # value = <Keycode.K_b: 98>
|
|
3392
3887
|
K_c: Keycode # value = <Keycode.K_c: 99>
|
|
@@ -3413,6 +3908,8 @@ K_w: Keycode # value = <Keycode.K_w: 119>
|
|
|
3413
3908
|
K_x: Keycode # value = <Keycode.K_x: 120>
|
|
3414
3909
|
K_y: Keycode # value = <Keycode.K_y: 121>
|
|
3415
3910
|
K_z: Keycode # value = <Keycode.K_z: 122>
|
|
3911
|
+
LOCALE_CHANGED: EventType # value = <EventType.LOCALE_CHANGED: 263>
|
|
3912
|
+
LOW_MEMORY: EventType # value = <EventType.LOW_MEMORY: 258>
|
|
3416
3913
|
MID_LEFT: Anchor # value = <Anchor.MID_LEFT: 3>
|
|
3417
3914
|
MID_RIGHT: Anchor # value = <Anchor.MID_RIGHT: 5>
|
|
3418
3915
|
MOUSE_ADDED: EventType # value = <EventType.MOUSE_ADDED: 1028>
|
|
@@ -3442,6 +3939,11 @@ P_TANGENTIAL_PRESSURE: PenAxis # value = <PenAxis.P_TANGENTIAL_PRESSURE: 6>
|
|
|
3442
3939
|
P_TILT_X: PenAxis # value = <PenAxis.P_TILT_X: 1>
|
|
3443
3940
|
P_TILT_Y: PenAxis # value = <PenAxis.P_TILT_Y: 2>
|
|
3444
3941
|
QUIT: EventType # value = <EventType.QUIT: 256>
|
|
3942
|
+
RENDER_DEVICE_LOST: EventType # value = <EventType.RENDER_DEVICE_LOST: 8194>
|
|
3943
|
+
RENDER_DEVICE_RESET: EventType # value = <EventType.RENDER_DEVICE_RESET: 8193>
|
|
3944
|
+
RENDER_TARGETS_RESET: EventType # value = <EventType.RENDER_TARGETS_RESET: 8192>
|
|
3945
|
+
SENSOR_UPDATE: EventType # value = <EventType.SENSOR_UPDATE: 4608>
|
|
3946
|
+
SYSTEM_THEME_CHANGED: EventType # value = <EventType.SYSTEM_THEME_CHANGED: 264>
|
|
3445
3947
|
S_0: Scancode # value = <Scancode.S_0: 39>
|
|
3446
3948
|
S_1: Scancode # value = <Scancode.S_1: 30>
|
|
3447
3949
|
S_2: Scancode # value = <Scancode.S_2: 31>
|
|
@@ -3454,21 +3956,30 @@ S_8: Scancode # value = <Scancode.S_8: 37>
|
|
|
3454
3956
|
S_9: Scancode # value = <Scancode.S_9: 38>
|
|
3455
3957
|
S_AGAIN: Scancode # value = <Scancode.S_AGAIN: 121>
|
|
3456
3958
|
S_APOSTROPHE: Scancode # value = <Scancode.S_APOSTROPHE: 52>
|
|
3959
|
+
S_APPLICATION: Scancode # value = <Scancode.S_APPLICATION: 101>
|
|
3457
3960
|
S_BACKSLASH: Scancode # value = <Scancode.S_BACKSLASH: 49>
|
|
3458
3961
|
S_BACKSPACE: Scancode # value = <Scancode.S_BACKSPACE: 42>
|
|
3962
|
+
S_CALL: Scancode # value = <Scancode.S_CALL: 289>
|
|
3459
3963
|
S_CAPS: Scancode # value = <Scancode.S_CAPS: 57>
|
|
3964
|
+
S_CHANNEL_DEC: Scancode # value = <Scancode.S_CHANNEL_DEC: 261>
|
|
3965
|
+
S_CHANNEL_INC: Scancode # value = <Scancode.S_CHANNEL_INC: 260>
|
|
3460
3966
|
S_COMMA: Scancode # value = <Scancode.S_COMMA: 54>
|
|
3461
3967
|
S_COPY: Scancode # value = <Scancode.S_COPY: 124>
|
|
3462
3968
|
S_CUT: Scancode # value = <Scancode.S_CUT: 123>
|
|
3463
3969
|
S_DEL: Scancode # value = <Scancode.S_DEL: 76>
|
|
3464
3970
|
S_DOWN: Scancode # value = <Scancode.S_DOWN: 81>
|
|
3465
3971
|
S_END: Scancode # value = <Scancode.S_END: 77>
|
|
3972
|
+
S_ENDCALL: Scancode # value = <Scancode.S_ENDCALL: 290>
|
|
3466
3973
|
S_EQ: Scancode # value = <Scancode.S_EQ: 46>
|
|
3467
3974
|
S_ESC: Scancode # value = <Scancode.S_ESC: 41>
|
|
3975
|
+
S_EXECUTE: Scancode # value = <Scancode.S_EXECUTE: 116>
|
|
3468
3976
|
S_F1: Scancode # value = <Scancode.S_F1: 58>
|
|
3469
3977
|
S_F10: Scancode # value = <Scancode.S_F10: 67>
|
|
3470
3978
|
S_F11: Scancode # value = <Scancode.S_F11: 68>
|
|
3471
3979
|
S_F12: Scancode # value = <Scancode.S_F12: 69>
|
|
3980
|
+
S_F13: Scancode # value = <Scancode.S_F13: 104>
|
|
3981
|
+
S_F14: Scancode # value = <Scancode.S_F14: 105>
|
|
3982
|
+
S_F15: Scancode # value = <Scancode.S_F15: 106>
|
|
3472
3983
|
S_F2: Scancode # value = <Scancode.S_F2: 59>
|
|
3473
3984
|
S_F3: Scancode # value = <Scancode.S_F3: 60>
|
|
3474
3985
|
S_F4: Scancode # value = <Scancode.S_F4: 61>
|
|
@@ -3479,6 +3990,7 @@ S_F8: Scancode # value = <Scancode.S_F8: 65>
|
|
|
3479
3990
|
S_F9: Scancode # value = <Scancode.S_F9: 66>
|
|
3480
3991
|
S_FIND: Scancode # value = <Scancode.S_FIND: 126>
|
|
3481
3992
|
S_GRAVE: Scancode # value = <Scancode.S_GRAVE: 53>
|
|
3993
|
+
S_HELP: Scancode # value = <Scancode.S_HELP: 117>
|
|
3482
3994
|
S_HOME: Scancode # value = <Scancode.S_HOME: 74>
|
|
3483
3995
|
S_INS: Scancode # value = <Scancode.S_INS: 73>
|
|
3484
3996
|
S_KP_0: Scancode # value = <Scancode.S_KP_0: 98>
|
|
@@ -3503,7 +4015,20 @@ S_LCTRL: Scancode # value = <Scancode.S_LCTRL: 224>
|
|
|
3503
4015
|
S_LEFT: Scancode # value = <Scancode.S_LEFT: 80>
|
|
3504
4016
|
S_LGUI: Scancode # value = <Scancode.S_LGUI: 227>
|
|
3505
4017
|
S_LSHIFT: Scancode # value = <Scancode.S_LSHIFT: 225>
|
|
4018
|
+
S_MEDIA_EJECT: Scancode # value = <Scancode.S_MEDIA_EJECT: 270>
|
|
4019
|
+
S_MEDIA_FAST_FORWARD: Scancode # value = <Scancode.S_MEDIA_FAST_FORWARD: 265>
|
|
4020
|
+
S_MEDIA_NEXT: Scancode # value = <Scancode.S_MEDIA_NEXT: 267>
|
|
4021
|
+
S_MEDIA_PAUSE: Scancode # value = <Scancode.S_MEDIA_PAUSE: 263>
|
|
4022
|
+
S_MEDIA_PLAY: Scancode # value = <Scancode.S_MEDIA_PLAY: 262>
|
|
4023
|
+
S_MEDIA_PLAY_PAUSE: Scancode # value = <Scancode.S_MEDIA_PLAY_PAUSE: 271>
|
|
4024
|
+
S_MEDIA_PREV: Scancode # value = <Scancode.S_MEDIA_PREV: 268>
|
|
4025
|
+
S_MEDIA_REC: Scancode # value = <Scancode.S_MEDIA_REC: 264>
|
|
4026
|
+
S_MEDIA_REWIND: Scancode # value = <Scancode.S_MEDIA_REWIND: 266>
|
|
4027
|
+
S_MEDIA_SELECT: Scancode # value = <Scancode.S_MEDIA_SELECT: 272>
|
|
4028
|
+
S_MEDIA_STOP: Scancode # value = <Scancode.S_MEDIA_STOP: 269>
|
|
4029
|
+
S_MENU: Scancode # value = <Scancode.S_MENU: 118>
|
|
3506
4030
|
S_MINUS: Scancode # value = <Scancode.S_MINUS: 45>
|
|
4031
|
+
S_MODE: Scancode # value = <Scancode.S_MODE: 257>
|
|
3507
4032
|
S_MUTE: Scancode # value = <Scancode.S_MUTE: 127>
|
|
3508
4033
|
S_NUMLOCK: Scancode # value = <Scancode.S_NUMLOCK: 83>
|
|
3509
4034
|
S_PASTE: Scancode # value = <Scancode.S_PASTE: 125>
|
|
@@ -3511,6 +4036,7 @@ S_PAUSE: Scancode # value = <Scancode.S_PAUSE: 72>
|
|
|
3511
4036
|
S_PERIOD: Scancode # value = <Scancode.S_PERIOD: 55>
|
|
3512
4037
|
S_PGDOWN: Scancode # value = <Scancode.S_PGDOWN: 78>
|
|
3513
4038
|
S_PGUP: Scancode # value = <Scancode.S_PGUP: 75>
|
|
4039
|
+
S_POWER: Scancode # value = <Scancode.S_POWER: 102>
|
|
3514
4040
|
S_PRTSCR: Scancode # value = <Scancode.S_PRTSCR: 70>
|
|
3515
4041
|
S_RALT: Scancode # value = <Scancode.S_RALT: 230>
|
|
3516
4042
|
S_RBRACKET: Scancode # value = <Scancode.S_RBRACKET: 48>
|
|
@@ -3520,14 +4046,20 @@ S_RGUI: Scancode # value = <Scancode.S_RGUI: 231>
|
|
|
3520
4046
|
S_RIGHT: Scancode # value = <Scancode.S_RIGHT: 79>
|
|
3521
4047
|
S_RSHIFT: Scancode # value = <Scancode.S_RSHIFT: 229>
|
|
3522
4048
|
S_SCRLK: Scancode # value = <Scancode.S_SCRLK: 71>
|
|
4049
|
+
S_SELECT: Scancode # value = <Scancode.S_SELECT: 119>
|
|
3523
4050
|
S_SEMICOLON: Scancode # value = <Scancode.S_SEMICOLON: 51>
|
|
3524
4051
|
S_SLASH: Scancode # value = <Scancode.S_SLASH: 56>
|
|
4052
|
+
S_SLEEP: Scancode # value = <Scancode.S_SLEEP: 258>
|
|
4053
|
+
S_SOFTLEFT: Scancode # value = <Scancode.S_SOFTLEFT: 287>
|
|
4054
|
+
S_SOFTRIGHT: Scancode # value = <Scancode.S_SOFTRIGHT: 288>
|
|
3525
4055
|
S_SPACE: Scancode # value = <Scancode.S_SPACE: 44>
|
|
4056
|
+
S_STOP: Scancode # value = <Scancode.S_STOP: 120>
|
|
3526
4057
|
S_TAB: Scancode # value = <Scancode.S_TAB: 43>
|
|
3527
4058
|
S_UNDO: Scancode # value = <Scancode.S_UNDO: 122>
|
|
3528
4059
|
S_UP: Scancode # value = <Scancode.S_UP: 82>
|
|
3529
4060
|
S_VOLDOWN: Scancode # value = <Scancode.S_VOLDOWN: 129>
|
|
3530
4061
|
S_VOLUP: Scancode # value = <Scancode.S_VOLUP: 128>
|
|
4062
|
+
S_WAKE: Scancode # value = <Scancode.S_WAKE: 259>
|
|
3531
4063
|
S_a: Scancode # value = <Scancode.S_a: 4>
|
|
3532
4064
|
S_b: Scancode # value = <Scancode.S_b: 5>
|
|
3533
4065
|
S_c: Scancode # value = <Scancode.S_c: 6>
|
|
@@ -3554,16 +4086,27 @@ S_w: Scancode # value = <Scancode.S_w: 26>
|
|
|
3554
4086
|
S_x: Scancode # value = <Scancode.S_x: 27>
|
|
3555
4087
|
S_y: Scancode # value = <Scancode.S_y: 28>
|
|
3556
4088
|
S_z: Scancode # value = <Scancode.S_z: 29>
|
|
4089
|
+
TERMINATING: EventType # value = <EventType.TERMINATING: 257>
|
|
3557
4090
|
TEXT_EDITING: EventType # value = <EventType.TEXT_EDITING: 770>
|
|
4091
|
+
TEXT_EDITING_CANDIDATES: EventType # value = <EventType.TEXT_EDITING_CANDIDATES: 775>
|
|
3558
4092
|
TEXT_INPUT: EventType # value = <EventType.TEXT_INPUT: 771>
|
|
3559
4093
|
TOP_LEFT: Anchor # value = <Anchor.TOP_LEFT: 0>
|
|
3560
4094
|
TOP_MID: Anchor # value = <Anchor.TOP_MID: 1>
|
|
3561
4095
|
TOP_RIGHT: Anchor # value = <Anchor.TOP_RIGHT: 2>
|
|
4096
|
+
WILL_ENTER_BACKGROUND: EventType # value = <EventType.WILL_ENTER_BACKGROUND: 259>
|
|
4097
|
+
WILL_ENTER_FOREGROUND: EventType # value = <EventType.WILL_ENTER_FOREGROUND: 261>
|
|
4098
|
+
WINDOW_CLOSE_REQUESTED: EventType # value = <EventType.WINDOW_CLOSE_REQUESTED: 528>
|
|
4099
|
+
WINDOW_DESTROYED: EventType # value = <EventType.WINDOW_DESTROYED: 537>
|
|
4100
|
+
WINDOW_DISPLAY_CHANGED: EventType # value = <EventType.WINDOW_DISPLAY_CHANGED: 531>
|
|
4101
|
+
WINDOW_DISPLAY_SCALE_CHANGED: EventType # value = <EventType.WINDOW_DISPLAY_SCALE_CHANGED: 532>
|
|
3562
4102
|
WINDOW_ENTER_FULLSCREEN: EventType # value = <EventType.WINDOW_ENTER_FULLSCREEN: 535>
|
|
3563
4103
|
WINDOW_EXPOSED: EventType # value = <EventType.WINDOW_EXPOSED: 516>
|
|
3564
4104
|
WINDOW_FOCUS_GAINED: EventType # value = <EventType.WINDOW_FOCUS_GAINED: 526>
|
|
3565
4105
|
WINDOW_FOCUS_LOST: EventType # value = <EventType.WINDOW_FOCUS_LOST: 527>
|
|
4106
|
+
WINDOW_HDR_STATE_CHANGED: EventType # value = <EventType.WINDOW_HDR_STATE_CHANGED: 538>
|
|
3566
4107
|
WINDOW_HIDDEN: EventType # value = <EventType.WINDOW_HIDDEN: 515>
|
|
4108
|
+
WINDOW_HIT_TEST: EventType # value = <EventType.WINDOW_HIT_TEST: 529>
|
|
4109
|
+
WINDOW_ICCPROF_CHANGED: EventType # value = <EventType.WINDOW_ICCPROF_CHANGED: 530>
|
|
3567
4110
|
WINDOW_LEAVE_FULLSCREEN: EventType # value = <EventType.WINDOW_LEAVE_FULLSCREEN: 536>
|
|
3568
4111
|
WINDOW_MAXIMIZED: EventType # value = <EventType.WINDOW_MAXIMIZED: 522>
|
|
3569
4112
|
WINDOW_MINIMIZED: EventType # value = <EventType.WINDOW_MINIMIZED: 521>
|
|
@@ -3573,4 +4116,5 @@ WINDOW_MOVED: EventType # value = <EventType.WINDOW_MOVED: 517>
|
|
|
3573
4116
|
WINDOW_OCCLUDED: EventType # value = <EventType.WINDOW_OCCLUDED: 534>
|
|
3574
4117
|
WINDOW_RESIZED: EventType # value = <EventType.WINDOW_RESIZED: 518>
|
|
3575
4118
|
WINDOW_RESTORED: EventType # value = <EventType.WINDOW_RESTORED: 523>
|
|
4119
|
+
WINDOW_SAFE_AREA_CHANGED: EventType # value = <EventType.WINDOW_SAFE_AREA_CHANGED: 533>
|
|
3576
4120
|
WINDOW_SHOWN: EventType # value = <EventType.WINDOW_SHOWN: 514>
|