raylib 5.5.0.1__cp310-cp310-manylinux2014_aarch64.whl → 5.5.0.3__cp310-cp310-manylinux2014_aarch64.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.

Potentially problematic release.


This version of raylib might be problematic. Click here for more details.

raylib/build.py CHANGED
@@ -15,36 +15,70 @@
15
15
  # Assumes raylib, GL, etc are all already installed as system libraries. We dont distribute them.
16
16
  # Raylib must be installed and compiled with: cmake -DWITH_PIC=ON -DSHARED=ON -DSTATIC=ON ..
17
17
 
18
- # We use /usr/local/lib/libraylib.a to ensure we link to static version
19
- import re
20
18
 
19
+ import re
21
20
  from cffi import FFI
22
21
  import os
23
22
  import platform
24
- import sys
25
23
  import subprocess
26
24
  import time
25
+ from pathlib import Path
26
+
27
+ THIS_DIR = Path(__file__).resolve().parent
28
+ REPO_ROOT = THIS_DIR.parent
29
+
30
+ # TODO: I think the customisation is making this file overly complex and probably isn't used
31
+ # by many/any users, see discussion at https://github.com/electronstudio/raylib-python-cffi/pull/172
32
+ #
33
+ # Environment variables you can set before build
34
+ #
35
+ # RAYLIB_PLATFORM: Any one of: Desktop, SDL, DRM, PLATFORM_COMMA
36
+ # RAYLIB_LINK_ARGS: Arguments to pass to the linker rather than getting them from pkg-config.
37
+ # e.g.: -L/usr/local/lib -lraylib
38
+ # RAYLIB_INCLUDE_PATH: Directory to find raylib.h rather than getting from pkg-config.
39
+ # e.g.: /usr/local/include
40
+ # RAYGUI_INCLUDE_PATH: Directory to find raygui.h
41
+ # e.g.: /usr/local/include
42
+ # GLFW_INCLUDE_PATH: Directory to find glfw3.h
43
+ # e.g.: /usr/local/include/GLFW
44
+ # PHYSAC_INCLUDE_PATH: Directory to find physac.h
45
+ # e.g.: /usr/local/include
46
+ # LIBFFI_INCLUDE_PATH:
47
+ # e.g.: /usr/local/include
48
+ #
49
+ # PKG_CONFIG_LIB_raylib: the package to request from pkg-config for raylib include files, default 'raylib'
50
+ # PKG_CONFIG_LIB_raygui: the package to request from pkg-config for raygui include files
51
+ # set to 'raygui' if you have a separate raygui package, else unset for default 'raylib'
52
+ # PKG_CONFIG_LIB_physac: the package to request from pkg-config for physac indlude files
53
+ # set to 'physac' if you have a separate raygui physac, else unset for default 'raylib'
54
+ # PKG_CONFIG_LIB_glfw3: the package to request from pkg-config for glfw3 include files
55
+ # set to 'glfw3' if you have a separate glfw3 package, else unset for default 'raylib'
56
+ # PKG_CONFIG_LIB_libffi: the package to request from pkg-config for libffi include files
27
57
 
28
58
  RAYLIB_PLATFORM = os.getenv("RAYLIB_PLATFORM", "Desktop")
29
59
 
30
- def check_raylib_installed():
31
- return subprocess.run(['pkg-config', '--exists', 'raylib'], text=True, stdout=subprocess.PIPE).returncode == 0
60
+ def check_raylib_pkgconfig_installed():
61
+ # this should be 'pkg-config --exists raylib' but result is non-deterministic on old versions of pkg-config!
62
+ return subprocess.run(['pkg-config', '--libs', 'raylib'], text=True, stdout=subprocess.PIPE).returncode == 0
32
63
 
33
- def check_SDL_installed():
34
- return subprocess.run(['pkg-config', '--exists', 'sdl2'], text=True, stdout=subprocess.PIPE).returncode == 0
64
+ def check_sdl_pkgconfig_installed():
65
+ # this should be 'pkg-config --exists sdl2' but result is non-deterministic on old versions of pkg-config!
66
+ return subprocess.run(['pkg-config', '--libs', 'sdl2'], text=True, stdout=subprocess.PIPE).returncode == 0
35
67
 
36
- def get_the_include_path():
37
- return subprocess.run(['pkg-config', '--variable=includedir', 'raylib'], text=True,
38
- stdout=subprocess.PIPE).stdout.strip()
68
+
69
+ def get_the_include_path_from_pkgconfig(libname):
70
+ return subprocess.run(
71
+ ['pkg-config', '--variable=includedir', os.environ.get("PKG_CONFIG_LIB_" + libname, 'raylib')], text=True,
72
+ stdout=subprocess.PIPE).stdout.strip()
39
73
 
40
74
 
41
- def get_the_lib_path():
75
+ def get_the_lib_path_from_pkgconfig():
42
76
  return subprocess.run(['pkg-config', '--variable=libdir', 'raylib'], text=True,
43
77
  stdout=subprocess.PIPE).stdout.strip()
44
78
 
45
- def get_lib_flags():
79
+ def get_lib_flags_from_pkgconfig():
46
80
  return subprocess.run(['pkg-config', '--libs', 'raylib'], text=True,
47
- stdout=subprocess.PIPE).stdout.strip().split()
81
+ stdout=subprocess.PIPE).stdout.strip()
48
82
 
49
83
  def pre_process_header(filename, remove_function_bodies=False):
50
84
  print("Pre-processing " + filename)
@@ -104,24 +138,31 @@ def check_header_exists(file):
104
138
 
105
139
 
106
140
  def build_unix():
107
- if not check_raylib_installed():
108
- raise Exception("ERROR: raylib not found by pkg-config. Please install pkg-config and Raylib.")
109
-
110
- if RAYLIB_PLATFORM=="SDL" and not check_SDL_installed():
111
- raise Exception("ERROR: SDL2 not found by pkg-config. Please install pkg-config and SDL2.")
112
-
113
- raylib_h = get_the_include_path() + "/raylib.h"
114
- rlgl_h = get_the_include_path() + "/rlgl.h"
115
- raymath_h = get_the_include_path() + "/raymath.h"
141
+ if os.getenv("RAYLIB_LINK_ARGS") is None and not check_raylib_pkgconfig_installed():
142
+ print("PKG_CONFIG_PATH is set to: "+os.getenv("PKG_CONFIG_PATH"))
143
+ raise Exception("ERROR: raylib not found by pkg-config. Please install pkg-config and Raylib"
144
+ "or else set RAYLIB_LINK_ARGS env variable.")
145
+
146
+ if RAYLIB_PLATFORM=="SDL" and os.getenv("RAYLIB_LINK_ARGS") is None and not check_sdl_pkgconfig_installed():
147
+ print("PKG_CONFIG_PATH is set to: "+os.getenv("PKG_CONFIG_PATH"))
148
+ raise Exception("ERROR: SDL2 not found by pkg-config. Please install pkg-config and SDL2."
149
+ "or else set RAYLIB_LINK_ARGS env variable.")
150
+
151
+ raylib_include_path = os.getenv("RAYLIB_INCLUDE_PATH")
152
+ if raylib_include_path is None:
153
+ raylib_include_path = get_the_include_path_from_pkgconfig("raylib")
154
+ raylib_h = raylib_include_path + "/raylib.h"
155
+ rlgl_h = raylib_include_path + "/rlgl.h"
156
+ raymath_h = raylib_include_path + "/raymath.h"
116
157
 
117
158
  if not os.path.isfile(raylib_h):
118
- raise Exception("ERROR: " + raylib_h + " not found. Please install Raylib.")
159
+ raise Exception("ERROR: " + raylib_h + " not found. Please install Raylib or set RAYLIB_INCLUDE_PATH.")
119
160
 
120
161
  if not os.path.isfile(rlgl_h):
121
- raise Exception("ERROR: " + rlgl_h + " not found. Please install Raylib.")
162
+ raise Exception("ERROR: " + rlgl_h + " not found. Please install Raylib or set RAYLIB_INCLUDE_PATH.")
122
163
 
123
164
  if not os.path.isfile(raymath_h):
124
- raise Exception("ERROR: " + raylib_h + " not found. Please install Raylib.")
165
+ raise Exception("ERROR: " + raylib_h + " not found. Please install Raylib or set RAYLIB_INCLUDE_PATH.")
125
166
 
126
167
  ffi_includes = """
127
168
  #include "raylib.h"
@@ -129,13 +170,19 @@ def build_unix():
129
170
  #include "raymath.h"
130
171
  """
131
172
 
132
- glfw3_h = get_the_include_path() + "/GLFW/glfw3.h"
173
+ glfw_include_path = os.getenv("GLFW_INCLUDE_PATH")
174
+ if glfw_include_path is None:
175
+ glfw_include_path = get_the_include_path_from_pkgconfig("glfw3")
176
+ glfw3_h = glfw_include_path + "/GLFW/glfw3.h"
133
177
  if RAYLIB_PLATFORM=="Desktop" and check_header_exists(glfw3_h):
134
178
  ffi_includes += """
135
179
  #include "GLFW/glfw3.h"
136
180
  """
137
181
 
138
- raygui_h = get_the_include_path() + "/raygui.h"
182
+ raygui_include_path = os.getenv("RAYGUI_INCLUDE_PATH")
183
+ if raygui_include_path is None:
184
+ raygui_include_path = get_the_include_path_from_pkgconfig("raygui")
185
+ raygui_h = raygui_include_path + "/raygui.h"
139
186
  if check_header_exists(raygui_h):
140
187
  ffi_includes += """
141
188
  #define RAYGUI_IMPLEMENTATION
@@ -143,13 +190,20 @@ def build_unix():
143
190
  #include "raygui.h"
144
191
  """
145
192
 
146
- physac_h = get_the_include_path() + "/physac.h"
193
+ physac_include_path = os.getenv("PHYSAC_INCLUDE_PATH")
194
+ if physac_include_path is None:
195
+ physac_include_path = get_the_include_path_from_pkgconfig("physac")
196
+ physac_h = physac_include_path + "/physac.h"
147
197
  if check_header_exists(physac_h):
148
198
  ffi_includes += """
149
199
  #define PHYSAC_IMPLEMENTATION
150
200
  #include "physac.h"
151
201
  """
152
202
 
203
+ libffi_include_path = os.getenv("LIBFFI_INCLUDE_PATH")
204
+ if libffi_include_path is None:
205
+ libffi_include_path = get_the_include_path_from_pkgconfig("libffi")
206
+
153
207
  ffibuilder.cdef(pre_process_header(raylib_h))
154
208
  ffibuilder.cdef(pre_process_header(rlgl_h))
155
209
  ffibuilder.cdef(pre_process_header(raymath_h, True))
@@ -164,7 +218,11 @@ def build_unix():
164
218
 
165
219
  if platform.system() == "Darwin":
166
220
  print("BUILDING FOR MAC")
167
- extra_link_args = [get_the_lib_path() + '/libraylib.a', '-framework', 'OpenGL', '-framework', 'Cocoa',
221
+ flags = os.getenv("RAYLIB_LINK_ARGS")
222
+ if flags is None:
223
+ flags = get_the_lib_path_from_pkgconfig() + '/libraylib.a'
224
+ # We use /usr/local/lib/libraylib.a to ensure we link to static version
225
+ extra_link_args = flags.split() + ['-framework', 'OpenGL', '-framework', 'Cocoa',
168
226
  '-framework', 'IOKit', '-framework', 'CoreFoundation', '-framework',
169
227
  'CoreVideo']
170
228
  if RAYLIB_PLATFORM=="SDL":
@@ -174,12 +232,18 @@ def build_unix():
174
232
  extra_compile_args = ["-Wno-error=incompatible-function-pointer-types", "-D_CFFI_NO_LIMITED_API"]
175
233
  else: #platform.system() == "Linux":
176
234
  print("BUILDING FOR LINUX")
177
- extra_link_args = get_lib_flags() + [ '-lm', '-lpthread', '-lGL',
235
+ flags = os.getenv("RAYLIB_LINK_ARGS")
236
+ if flags is None:
237
+ flags = get_lib_flags_from_pkgconfig()
238
+ extra_link_args = flags.split() + [ '-lm', '-lpthread', '-lGL',
178
239
  '-lrt', '-lm', '-ldl', '-lpthread', '-latomic']
179
240
  if RAYLIB_PLATFORM=="SDL":
180
241
  extra_link_args += ['-lX11','-lSDL2']
181
242
  elif RAYLIB_PLATFORM=="DRM":
182
243
  extra_link_args += ['-lEGL', '-lgbm']
244
+ elif RAYLIB_PLATFORM=="PLATFORM_COMMA":
245
+ extra_link_args.remove('-lGL')
246
+ extra_link_args += ['-lGLESv2', '-lEGL', '-lwayland-client', '-lwayland-egl']
183
247
  else:
184
248
  extra_link_args += ['-lX11']
185
249
  extra_compile_args = ["-Wno-incompatible-pointer-types", "-D_CFFI_NO_LIMITED_API"]
@@ -192,7 +256,8 @@ def build_unix():
192
256
  ffibuilder.set_source("raylib._raylib_cffi",
193
257
  ffi_includes,
194
258
  py_limited_api=False,
195
- include_dirs=[get_the_include_path()],
259
+ include_dirs=[raylib_include_path, raygui_include_path, physac_include_path, glfw_include_path,
260
+ libffi_include_path],
196
261
  extra_link_args=extra_link_args,
197
262
  extra_compile_args=extra_compile_args,
198
263
  libraries=libraries)
@@ -200,13 +265,13 @@ def build_unix():
200
265
 
201
266
  def build_windows():
202
267
  print("BUILDING FOR WINDOWS")
203
- ffibuilder.cdef(open("raylib/raylib.h.modified").read())
268
+ ffibuilder.cdef((THIS_DIR / "raylib.h.modified").read_text())
204
269
  if RAYLIB_PLATFORM=="Desktop":
205
- ffibuilder.cdef(open("raylib/glfw3.h.modified").read())
206
- ffibuilder.cdef(open("raylib/rlgl.h.modified").read())
207
- ffibuilder.cdef(open("raylib/raygui.h.modified").read())
208
- ffibuilder.cdef(open("raylib/physac.h.modified").read())
209
- ffibuilder.cdef(open("raylib/raymath.h.modified").read())
270
+ ffibuilder.cdef((THIS_DIR / "glfw3.h.modified").read_text())
271
+ ffibuilder.cdef((THIS_DIR / "rlgl.h.modified").read_text())
272
+ ffibuilder.cdef((THIS_DIR / "raygui.h.modified").read_text())
273
+ ffibuilder.cdef((THIS_DIR / "physac.h.modified").read_text())
274
+ ffibuilder.cdef((THIS_DIR / "raymath.h.modified").read_text())
210
275
 
211
276
  ffi_includes = """
212
277
  #include "raylib.h"
@@ -224,6 +289,7 @@ def build_windows():
224
289
  #define RAYGUI_SUPPORT_RICONS
225
290
  #include "raygui.h"
226
291
  #define PHYSAC_IMPLEMENTATION
292
+ #define PHYSAC_NO_THREADS
227
293
  #include "physac.h"
228
294
  """
229
295
  libraries = ['raylib', 'gdi32', 'shell32', 'user32', 'OpenGL32', 'winmm']
@@ -236,10 +302,10 @@ def build_windows():
236
302
  extra_compile_args=["/D_CFFI_NO_LIMITED_API"],
237
303
  py_limited_api=False,
238
304
  libraries=libraries,
239
- include_dirs=['D:\\a\\raylib-python-cffi\\raylib-python-cffi\\raylib-c\\src',
240
- 'D:\\a\\raylib-python-cffi\\raylib-python-cffi\\raylib-c\\src\\external\\glfw\\include',
241
- 'D:\\a\\raylib-python-cffi\\raylib-python-cffi\\raygui\\src',
242
- 'D:\\a\\raylib-python-cffi\\raylib-python-cffi\\physac\\src'],
305
+ include_dirs=[str(REPO_ROOT / 'raylib-c/src'),
306
+ str(REPO_ROOT / 'raylib-c/src/external/glfw/include'),
307
+ str(REPO_ROOT / 'raygui/src'),
308
+ str(REPO_ROOT / 'physac/src')],
243
309
  )
244
310
 
245
311
 
raylib/defines.py CHANGED
@@ -186,12 +186,10 @@ RAYGUI_TEXTFORMAT_MAX_SIZE: int = 256
186
186
  PHYSAC_MAX_BODIES: int = 64
187
187
  PHYSAC_MAX_MANIFOLDS: int = 4096
188
188
  PHYSAC_MAX_VERTICES: int = 24
189
- PHYSAC_DEFAULT_CIRCLE_VERTICES: int = 24
190
- PHYSAC_COLLISION_ITERATIONS: int = 100
189
+ PHYSAC_CIRCLE_VERTICES: int = 24
190
+ PHYSAC_COLLISION_ITERATIONS: int = 20
191
191
  PHYSAC_PENETRATION_ALLOWANCE: float = 0.05
192
192
  PHYSAC_PENETRATION_CORRECTION: float = 0.4
193
- PHYSAC_PI: float = 3.141592653589793
194
- PHYSAC_DEG2RAD = PHYSAC_PI / 180.0
195
193
  PHYSAC_FLT_MAX: float = 3.402823466e+38
196
194
  PHYSAC_EPSILON: float = 1e-06
197
195
  GLFW_VERSION_MAJOR: int = 3
raylib/enums.py CHANGED
@@ -1,6 +1,7 @@
1
1
  from enum import IntEnum
2
2
 
3
3
  class ConfigFlags(IntEnum):
4
+ """System/Window config flags."""
4
5
  FLAG_VSYNC_HINT = 64
5
6
  FLAG_FULLSCREEN_MODE = 2
6
7
  FLAG_WINDOW_RESIZABLE = 4
@@ -19,6 +20,7 @@ class ConfigFlags(IntEnum):
19
20
  FLAG_INTERLACED_HINT = 65536
20
21
 
21
22
  class TraceLogLevel(IntEnum):
23
+ """Trace log level."""
22
24
  LOG_ALL = 0
23
25
  LOG_TRACE = 1
24
26
  LOG_DEBUG = 2
@@ -29,6 +31,7 @@ class TraceLogLevel(IntEnum):
29
31
  LOG_NONE = 7
30
32
 
31
33
  class KeyboardKey(IntEnum):
34
+ """Keyboard keys (US keyboard layout)."""
32
35
  KEY_NULL = 0
33
36
  KEY_APOSTROPHE = 39
34
37
  KEY_COMMA = 44
@@ -141,6 +144,7 @@ class KeyboardKey(IntEnum):
141
144
  KEY_VOLUME_DOWN = 25
142
145
 
143
146
  class MouseButton(IntEnum):
147
+ """Mouse buttons."""
144
148
  MOUSE_BUTTON_LEFT = 0
145
149
  MOUSE_BUTTON_RIGHT = 1
146
150
  MOUSE_BUTTON_MIDDLE = 2
@@ -150,6 +154,7 @@ class MouseButton(IntEnum):
150
154
  MOUSE_BUTTON_BACK = 6
151
155
 
152
156
  class MouseCursor(IntEnum):
157
+ """Mouse cursor."""
153
158
  MOUSE_CURSOR_DEFAULT = 0
154
159
  MOUSE_CURSOR_ARROW = 1
155
160
  MOUSE_CURSOR_IBEAM = 2
@@ -163,6 +168,7 @@ class MouseCursor(IntEnum):
163
168
  MOUSE_CURSOR_NOT_ALLOWED = 10
164
169
 
165
170
  class GamepadButton(IntEnum):
171
+ """Gamepad buttons."""
166
172
  GAMEPAD_BUTTON_UNKNOWN = 0
167
173
  GAMEPAD_BUTTON_LEFT_FACE_UP = 1
168
174
  GAMEPAD_BUTTON_LEFT_FACE_RIGHT = 2
@@ -183,6 +189,7 @@ class GamepadButton(IntEnum):
183
189
  GAMEPAD_BUTTON_RIGHT_THUMB = 17
184
190
 
185
191
  class GamepadAxis(IntEnum):
192
+ """Gamepad axis."""
186
193
  GAMEPAD_AXIS_LEFT_X = 0
187
194
  GAMEPAD_AXIS_LEFT_Y = 1
188
195
  GAMEPAD_AXIS_RIGHT_X = 2
@@ -191,6 +198,7 @@ class GamepadAxis(IntEnum):
191
198
  GAMEPAD_AXIS_RIGHT_TRIGGER = 5
192
199
 
193
200
  class MaterialMapIndex(IntEnum):
201
+ """Material map index."""
194
202
  MATERIAL_MAP_ALBEDO = 0
195
203
  MATERIAL_MAP_METALNESS = 1
196
204
  MATERIAL_MAP_NORMAL = 2
@@ -204,6 +212,7 @@ class MaterialMapIndex(IntEnum):
204
212
  MATERIAL_MAP_BRDF = 10
205
213
 
206
214
  class ShaderLocationIndex(IntEnum):
215
+ """Shader location index."""
207
216
  SHADER_LOC_VERTEX_POSITION = 0
208
217
  SHADER_LOC_VERTEX_TEXCOORD01 = 1
209
218
  SHADER_LOC_VERTEX_TEXCOORD02 = 2
@@ -235,6 +244,7 @@ class ShaderLocationIndex(IntEnum):
235
244
  SHADER_LOC_BONE_MATRICES = 28
236
245
 
237
246
  class ShaderUniformDataType(IntEnum):
247
+ """Shader uniform data type."""
238
248
  SHADER_UNIFORM_FLOAT = 0
239
249
  SHADER_UNIFORM_VEC2 = 1
240
250
  SHADER_UNIFORM_VEC3 = 2
@@ -246,12 +256,14 @@ class ShaderUniformDataType(IntEnum):
246
256
  SHADER_UNIFORM_SAMPLER2D = 8
247
257
 
248
258
  class ShaderAttributeDataType(IntEnum):
259
+ """Shader attribute data types."""
249
260
  SHADER_ATTRIB_FLOAT = 0
250
261
  SHADER_ATTRIB_VEC2 = 1
251
262
  SHADER_ATTRIB_VEC3 = 2
252
263
  SHADER_ATTRIB_VEC4 = 3
253
264
 
254
265
  class PixelFormat(IntEnum):
266
+ """Pixel formats."""
255
267
  PIXELFORMAT_UNCOMPRESSED_GRAYSCALE = 1
256
268
  PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA = 2
257
269
  PIXELFORMAT_UNCOMPRESSED_R5G6B5 = 3
@@ -278,6 +290,7 @@ class PixelFormat(IntEnum):
278
290
  PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA = 24
279
291
 
280
292
  class TextureFilter(IntEnum):
293
+ """Texture parameters: filter mode."""
281
294
  TEXTURE_FILTER_POINT = 0
282
295
  TEXTURE_FILTER_BILINEAR = 1
283
296
  TEXTURE_FILTER_TRILINEAR = 2
@@ -286,12 +299,14 @@ class TextureFilter(IntEnum):
286
299
  TEXTURE_FILTER_ANISOTROPIC_16X = 5
287
300
 
288
301
  class TextureWrap(IntEnum):
302
+ """Texture parameters: wrap mode."""
289
303
  TEXTURE_WRAP_REPEAT = 0
290
304
  TEXTURE_WRAP_CLAMP = 1
291
305
  TEXTURE_WRAP_MIRROR_REPEAT = 2
292
306
  TEXTURE_WRAP_MIRROR_CLAMP = 3
293
307
 
294
308
  class CubemapLayout(IntEnum):
309
+ """Cubemap layouts."""
295
310
  CUBEMAP_LAYOUT_AUTO_DETECT = 0
296
311
  CUBEMAP_LAYOUT_LINE_VERTICAL = 1
297
312
  CUBEMAP_LAYOUT_LINE_HORIZONTAL = 2
@@ -299,11 +314,13 @@ class CubemapLayout(IntEnum):
299
314
  CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE = 4
300
315
 
301
316
  class FontType(IntEnum):
317
+ """Font type, defines generation method."""
302
318
  FONT_DEFAULT = 0
303
319
  FONT_BITMAP = 1
304
320
  FONT_SDF = 2
305
321
 
306
322
  class BlendMode(IntEnum):
323
+ """Color blending modes (pre-defined)."""
307
324
  BLEND_ALPHA = 0
308
325
  BLEND_ADDITIVE = 1
309
326
  BLEND_MULTIPLIED = 2
@@ -314,6 +331,7 @@ class BlendMode(IntEnum):
314
331
  BLEND_CUSTOM_SEPARATE = 7
315
332
 
316
333
  class Gesture(IntEnum):
334
+ """Gesture."""
317
335
  GESTURE_NONE = 0
318
336
  GESTURE_TAP = 1
319
337
  GESTURE_DOUBLETAP = 2
@@ -327,6 +345,7 @@ class Gesture(IntEnum):
327
345
  GESTURE_PINCH_OUT = 512
328
346
 
329
347
  class CameraMode(IntEnum):
348
+ """Camera system modes."""
330
349
  CAMERA_CUSTOM = 0
331
350
  CAMERA_FREE = 1
332
351
  CAMERA_ORBITAL = 2
@@ -334,36 +353,43 @@ class CameraMode(IntEnum):
334
353
  CAMERA_THIRD_PERSON = 4
335
354
 
336
355
  class CameraProjection(IntEnum):
356
+ """Camera projection."""
337
357
  CAMERA_PERSPECTIVE = 0
338
358
  CAMERA_ORTHOGRAPHIC = 1
339
359
 
340
360
  class NPatchLayout(IntEnum):
361
+ """N-patch layout."""
341
362
  NPATCH_NINE_PATCH = 0
342
363
  NPATCH_THREE_PATCH_VERTICAL = 1
343
364
  NPATCH_THREE_PATCH_HORIZONTAL = 2
344
365
 
345
366
  class GuiState(IntEnum):
367
+ """Gui control state."""
346
368
  STATE_NORMAL = 0
347
369
  STATE_FOCUSED = 1
348
370
  STATE_PRESSED = 2
349
371
  STATE_DISABLED = 3
350
372
 
351
373
  class GuiTextAlignment(IntEnum):
374
+ """Gui control text alignment."""
352
375
  TEXT_ALIGN_LEFT = 0
353
376
  TEXT_ALIGN_CENTER = 1
354
377
  TEXT_ALIGN_RIGHT = 2
355
378
 
356
379
  class GuiTextAlignmentVertical(IntEnum):
380
+ """Gui control text alignment vertical."""
357
381
  TEXT_ALIGN_TOP = 0
358
382
  TEXT_ALIGN_MIDDLE = 1
359
383
  TEXT_ALIGN_BOTTOM = 2
360
384
 
361
385
  class GuiTextWrapMode(IntEnum):
386
+ """Gui control text wrap mode."""
362
387
  TEXT_WRAP_NONE = 0
363
388
  TEXT_WRAP_CHAR = 1
364
389
  TEXT_WRAP_WORD = 2
365
390
 
366
391
  class GuiControl(IntEnum):
392
+ """Gui controls."""
367
393
  DEFAULT = 0
368
394
  LABEL = 1
369
395
  BUTTON = 2
@@ -382,6 +408,7 @@ class GuiControl(IntEnum):
382
408
  STATUSBAR = 15
383
409
 
384
410
  class GuiControlProperty(IntEnum):
411
+ """Gui base properties for every control."""
385
412
  BORDER_COLOR_NORMAL = 0
386
413
  BASE_COLOR_NORMAL = 1
387
414
  TEXT_COLOR_NORMAL = 2
@@ -399,6 +426,7 @@ class GuiControlProperty(IntEnum):
399
426
  TEXT_ALIGNMENT = 14
400
427
 
401
428
  class GuiDefaultProperty(IntEnum):
429
+ """DEFAULT extended properties."""
402
430
  TEXT_SIZE = 16
403
431
  TEXT_SPACING = 17
404
432
  LINE_COLOR = 18
@@ -408,16 +436,20 @@ class GuiDefaultProperty(IntEnum):
408
436
  TEXT_WRAP_MODE = 22
409
437
 
410
438
  class GuiToggleProperty(IntEnum):
439
+ """Toggle/ToggleGroup."""
411
440
  GROUP_PADDING = 16
412
441
 
413
442
  class GuiSliderProperty(IntEnum):
443
+ """Slider/SliderBar."""
414
444
  SLIDER_WIDTH = 16
415
445
  SLIDER_PADDING = 17
416
446
 
417
447
  class GuiProgressBarProperty(IntEnum):
448
+ """ProgressBar."""
418
449
  PROGRESS_PADDING = 16
419
450
 
420
451
  class GuiScrollBarProperty(IntEnum):
452
+ """ScrollBar."""
421
453
  ARROWS_SIZE = 16
422
454
  ARROWS_VISIBLE = 17
423
455
  SCROLL_SLIDER_PADDING = 18
@@ -426,26 +458,32 @@ class GuiScrollBarProperty(IntEnum):
426
458
  SCROLL_SPEED = 21
427
459
 
428
460
  class GuiCheckBoxProperty(IntEnum):
461
+ """CheckBox."""
429
462
  CHECK_PADDING = 16
430
463
 
431
464
  class GuiComboBoxProperty(IntEnum):
465
+ """ComboBox."""
432
466
  COMBO_BUTTON_WIDTH = 16
433
467
  COMBO_BUTTON_SPACING = 17
434
468
 
435
469
  class GuiDropdownBoxProperty(IntEnum):
470
+ """DropdownBox."""
436
471
  ARROW_PADDING = 16
437
472
  DROPDOWN_ITEMS_SPACING = 17
438
473
  DROPDOWN_ARROW_HIDDEN = 18
439
474
  DROPDOWN_ROLL_UP = 19
440
475
 
441
476
  class GuiTextBoxProperty(IntEnum):
477
+ """TextBox/TextBoxMulti/ValueBox/Spinner."""
442
478
  TEXT_READONLY = 16
443
479
 
444
480
  class GuiSpinnerProperty(IntEnum):
481
+ """Spinner."""
445
482
  SPIN_BUTTON_WIDTH = 16
446
483
  SPIN_BUTTON_SPACING = 17
447
484
 
448
485
  class GuiListViewProperty(IntEnum):
486
+ """ListView."""
449
487
  LIST_ITEMS_HEIGHT = 16
450
488
  LIST_ITEMS_SPACING = 17
451
489
  SCROLLBAR_WIDTH = 18
@@ -453,6 +491,7 @@ class GuiListViewProperty(IntEnum):
453
491
  LIST_ITEMS_BORDER_WIDTH = 20
454
492
 
455
493
  class GuiColorPickerProperty(IntEnum):
494
+ """ColorPicker."""
456
495
  COLOR_SELECTOR_SIZE = 16
457
496
  HUEBAR_WIDTH = 17
458
497
  HUEBAR_PADDING = 18
@@ -460,6 +499,7 @@ class GuiColorPickerProperty(IntEnum):
460
499
  HUEBAR_SELECTOR_OVERFLOW = 20
461
500
 
462
501
  class GuiIconName(IntEnum):
502
+ """."""
463
503
  ICON_NONE = 0
464
504
  ICON_FOLDER_FILE_OPEN = 1
465
505
  ICON_FILE_SAVE_CLASSIC = 2