Skip to content

Commit ac6dfd9

Browse files
committed
raylib C enums are now Python enums
1 parent 6538379 commit ac6dfd9

File tree

2 files changed

+177
-87
lines changed

2 files changed

+177
-87
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ __pycache__/
1919
pylint.html
2020
.idea/
2121
.vs/
22+
.vscode/
2223
env
2324
venv/
2425
.pytest_cache/

raylibpy/__init__.py

Lines changed: 176 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import sys
22
import os
33
from math import modf
4+
from enum import IntEnum
45
from typing import Tuple, Union, Sequence, AnyStr
56
from ctypes import (
67
c_bool,
@@ -2024,97 +2025,185 @@ class VrDeviceInfo(Structure):
20242025
# Enumerators Definition
20252026
# ---------------------------------------------------------------------------------
20262027
# Trace log type
2027-
LOG_INFO = 1
2028-
LOG_WARNING = 2
2029-
LOG_ERROR = 4
2030-
LOG_DEBUG = 8
2031-
LOG_OTHER = 16
2028+
class LogType(IntEnum):
2029+
LOG_INFO = 1
2030+
LOG_WARNING = 2
2031+
LOG_ERROR = 4
2032+
LOG_DEBUG = 8
2033+
LOG_OTHER = 16
2034+
2035+
LOG_INFO = LogType.LOG_INFO
2036+
LOG_WARNING = LogType.LOG_WARNING
2037+
LOG_ERROR = LogType.LOG_ERROR
2038+
LOG_DEBUG = LogType.LOG_DEBUG
2039+
LOG_OTHER = LogType.LOG_OTHER
20322040

20332041
# Shader location point type
2034-
LOC_VERTEX_POSITION = 1
2035-
LOC_VERTEX_TEXCOORD01 = 2
2036-
LOC_VERTEX_TEXCOORD02 = 3
2037-
LOC_VERTEX_NORMAL = 4
2038-
LOC_VERTEX_TANGENT = 5
2039-
LOC_VERTEX_COLOR = 6
2040-
LOC_MATRIX_MVP = 7
2041-
LOC_MATRIX_MODEL = 8
2042-
LOC_MATRIX_VIEW = 9
2043-
LOC_MATRIX_PROJECTION = 10
2044-
LOC_VECTOR_VIEW = 11
2045-
LOC_COLOR_DIFFUSE = 12
2046-
LOC_COLOR_SPECULAR = 13
2047-
LOC_COLOR_AMBIENT = 14
2048-
LOC_MAP_ALBEDO = 15
2049-
LOC_MAP_METALNESS = 16
2050-
LOC_MAP_NORMAL = 17
2051-
LOC_MAP_ROUGHNESS = 18
2052-
LOC_MAP_OCCLUSION = 19
2053-
LOC_MAP_EMISSION = 20
2054-
LOC_MAP_HEIGHT = 21
2055-
LOC_MAP_CUBEMAP = 22
2056-
LOC_MAP_IRRADIANCE = 23
2057-
LOC_MAP_PREFILTER = 24
2058-
LOC_MAP_BRDF = 25
2059-
LOC_MAP_DIFFUSE = LOC_MAP_ALBEDO
2060-
LOC_MAP_SPECULAR = LOC_MAP_METALNESS
2042+
class ShaderLocationIndex(IntEnum):
2043+
LOC_VERTEX_POSITION = 1
2044+
LOC_VERTEX_TEXCOORD01 = 2
2045+
LOC_VERTEX_TEXCOORD02 = 3
2046+
LOC_VERTEX_NORMAL = 4
2047+
LOC_VERTEX_TANGENT = 5
2048+
LOC_VERTEX_COLOR = 6
2049+
LOC_MATRIX_MVP = 7
2050+
LOC_MATRIX_MODEL = 8
2051+
LOC_MATRIX_VIEW = 9
2052+
LOC_MATRIX_PROJECTION = 10
2053+
LOC_VECTOR_VIEW = 11
2054+
LOC_COLOR_DIFFUSE = 12
2055+
LOC_COLOR_SPECULAR = 13
2056+
LOC_COLOR_AMBIENT = 14
2057+
LOC_MAP_ALBEDO = 15
2058+
LOC_MAP_METALNESS = 16
2059+
LOC_MAP_NORMAL = 17
2060+
LOC_MAP_ROUGHNESS = 18
2061+
LOC_MAP_OCCLUSION = 19
2062+
LOC_MAP_EMISSION = 20
2063+
LOC_MAP_HEIGHT = 21
2064+
LOC_MAP_CUBEMAP = 22
2065+
LOC_MAP_IRRADIANCE = 23
2066+
LOC_MAP_PREFILTER = 24
2067+
LOC_MAP_BRDF = 25
2068+
2069+
LOC_VERTEX_POSITION = ShaderLocationIndex.LOC_VERTEX_POSITION
2070+
LOC_VERTEX_TEXCOORD01 = ShaderLocationIndex.LOC_VERTEX_TEXCOORD01
2071+
LOC_VERTEX_TEXCOORD02 = ShaderLocationIndex.LOC_VERTEX_TEXCOORD02
2072+
LOC_VERTEX_NORMAL = ShaderLocationIndex.LOC_VERTEX_NORMAL
2073+
LOC_VERTEX_TANGENT = ShaderLocationIndex.LOC_VERTEX_TANGENT
2074+
LOC_VERTEX_COLOR = ShaderLocationIndex.LOC_VERTEX_COLOR
2075+
LOC_MATRIX_MVP = ShaderLocationIndex.LOC_MATRIX_MVP
2076+
LOC_MATRIX_MODEL = ShaderLocationIndex.LOC_MATRIX_MODEL
2077+
LOC_MATRIX_VIEW = ShaderLocationIndex.LOC_MATRIX_VIEW
2078+
LOC_MATRIX_PROJECTION = ShaderLocationIndex.LOC_MATRIX_PROJECTION
2079+
LOC_VECTOR_VIEW = ShaderLocationIndex.LOC_VECTOR_VIEW
2080+
LOC_COLOR_DIFFUSE = ShaderLocationIndex.LOC_COLOR_DIFFUSE
2081+
LOC_COLOR_SPECULAR = ShaderLocationIndex.LOC_COLOR_SPECULAR
2082+
LOC_COLOR_AMBIENT = ShaderLocationIndex.LOC_COLOR_AMBIENT
2083+
LOC_MAP_ALBEDO = ShaderLocationIndex.LOC_MAP_ALBEDO
2084+
LOC_MAP_METALNESS = ShaderLocationIndex.LOC_MAP_METALNESS
2085+
LOC_MAP_NORMAL = ShaderLocationIndex.LOC_MAP_NORMAL
2086+
LOC_MAP_ROUGHNESS = ShaderLocationIndex.LOC_MAP_ROUGHNESS
2087+
LOC_MAP_OCCLUSION = ShaderLocationIndex.LOC_MAP_OCCLUSION
2088+
LOC_MAP_EMISSION = ShaderLocationIndex.LOC_MAP_EMISSION
2089+
LOC_MAP_HEIGHT = ShaderLocationIndex.LOC_MAP_HEIGHT
2090+
LOC_MAP_CUBEMAP = ShaderLocationIndex.LOC_MAP_CUBEMAP
2091+
LOC_MAP_IRRADIANCE = ShaderLocationIndex.LOC_MAP_IRRADIANCE
2092+
LOC_MAP_PREFILTER = ShaderLocationIndex.LOC_MAP_PREFILTER
2093+
LOC_MAP_BRDF = ShaderLocationIndex.LOC_MAP_BRDF
2094+
LOC_MAP_DIFFUSE = ShaderLocationIndex.LOC_MAP_ALBEDO
2095+
LOC_MAP_SPECULAR = ShaderLocationIndex.LOC_MAP_METALNESS
20612096

2062-
# Material map type
2063-
MAP_ALBEDO = 0
2064-
MAP_METALNESS = 1
2065-
MAP_NORMAL = 2
2066-
MAP_ROUGHNESS = 3
2067-
MAP_OCCLUSION = 4
2068-
MAP_EMISSION = 5
2069-
MAP_HEIGHT = 6
2070-
MAP_CUBEMAP = 7
2071-
MAP_IRRADIANCE = 8
2072-
MAP_PREFILTER = 9
2073-
MAP_BRDF = 10
2074-
MAP_DIFFUSE = MAP_ALBEDO
2075-
MAP_SPECULAR = MAP_METALNESS
2076-
2077-
2078-
UNCOMPRESSED_GRAYSCALE = 1
2079-
UNCOMPRESSED_GRAY_ALPHA = 2
2080-
UNCOMPRESSED_R5G6B5 = 3
2081-
UNCOMPRESSED_R8G8B8 = 4
2082-
UNCOMPRESSED_R5G5B5A1 = 5
2083-
UNCOMPRESSED_R4G4B4A4 = 6
2084-
UNCOMPRESSED_R8G8B8A8 = 7
2085-
UNCOMPRESSED_R32 = 8
2086-
UNCOMPRESSED_R32G32B32 = 9
2087-
UNCOMPRESSED_R32G32B32A32 = 10
2088-
COMPRESSED_DXT1_RGB = 11
2089-
COMPRESSED_DXT1_RGBA = 12
2090-
COMPRESSED_DXT3_RGBA = 13
2091-
COMPRESSED_DXT5_RGBA = 14
2092-
COMPRESSED_ETC1_RGB = 15
2093-
COMPRESSED_ETC2_RGB = 16
2094-
COMPRESSED_ETC2_EAC_RGBA = 17
2095-
COMPRESSED_PVRT_RGB = 18
2096-
COMPRESSED_PVRT_RGBA = 19
2097-
COMPRESSED_ASTC_4x4_RGBA = 20
2098-
COMPRESSED_ASTC_8x8_RGBA = 21
2099-
2100-
2101-
FILTER_POINT = 0
2102-
FILTER_BILINEAR = 1
2103-
FILTER_TRILINEAR = 2
2104-
FILTER_ANISOTROPIC_4X = 3
2105-
FILTER_ANISOTROPIC_8X = 4
2106-
FILTER_ANISOTROPIC_16X = 5
2107-
2108-
2109-
WRAP_REPEAT = 0
2110-
WRAP_CLAMP = 1
2111-
WRAP_MIRROR = 2
2112-
2113-
2114-
BLEND_ALPHA = 0
2115-
BLEND_ADDITIVE = 1
2116-
BLEND_MULTIPLIED = 2
21172097

2098+
# Material map type
2099+
class TexmapIndex(IntEnum):
2100+
MAP_ALBEDO = 0
2101+
MAP_METALNESS = 1
2102+
MAP_NORMAL = 2
2103+
MAP_ROUGHNESS = 3
2104+
MAP_OCCLUSION = 4
2105+
MAP_EMISSION = 5
2106+
MAP_HEIGHT = 6
2107+
MAP_CUBEMAP = 7
2108+
MAP_IRRADIANCE = 8
2109+
MAP_PREFILTER = 9
2110+
MAP_BRDF = 10
2111+
2112+
MAP_ALBEDO = TexmapIndex.MAP_ALBEDO
2113+
MAP_METALNESS = TexmapIndex.MAP_METALNESS
2114+
MAP_NORMAL = TexmapIndex.MAP_NORMAL
2115+
MAP_ROUGHNESS = TexmapIndex.MAP_ROUGHNESS
2116+
MAP_OCCLUSION = TexmapIndex.MAP_OCCLUSION
2117+
MAP_EMISSION = TexmapIndex.MAP_EMISSION
2118+
MAP_HEIGHT = TexmapIndex.MAP_HEIGHT
2119+
MAP_CUBEMAP = TexmapIndex.MAP_CUBEMAP
2120+
MAP_IRRADIANCE = TexmapIndex.MAP_IRRADIANCE
2121+
MAP_PREFILTER = TexmapIndex.MAP_PREFILTER
2122+
MAP_BRDF = TexmapIndex.MAP_BRDF
2123+
MAP_DIFFUSE = TexmapIndex.MAP_ALBEDO
2124+
MAP_SPECULAR = TexmapIndex.MAP_METALNESS
2125+
2126+
2127+
class PixelFormat(IntEnum):
2128+
UNCOMPRESSED_GRAYSCALE = 1
2129+
UNCOMPRESSED_GRAY_ALPHA = 2
2130+
UNCOMPRESSED_R5G6B5 = 3
2131+
UNCOMPRESSED_R8G8B8 = 4
2132+
UNCOMPRESSED_R5G5B5A1 = 5
2133+
UNCOMPRESSED_R4G4B4A4 = 6
2134+
UNCOMPRESSED_R8G8B8A8 = 7
2135+
UNCOMPRESSED_R32 = 8
2136+
UNCOMPRESSED_R32G32B32 = 9
2137+
UNCOMPRESSED_R32G32B32A32 = 10
2138+
COMPRESSED_DXT1_RGB = 11
2139+
COMPRESSED_DXT1_RGBA = 12
2140+
COMPRESSED_DXT3_RGBA = 13
2141+
COMPRESSED_DXT5_RGBA = 14
2142+
COMPRESSED_ETC1_RGB = 15
2143+
COMPRESSED_ETC2_RGB = 16
2144+
COMPRESSED_ETC2_EAC_RGBA = 17
2145+
COMPRESSED_PVRT_RGB = 18
2146+
COMPRESSED_PVRT_RGBA = 19
2147+
COMPRESSED_ASTC_4x4_RGBA = 20
2148+
COMPRESSED_ASTC_8x8_RGBA = 21
2149+
2150+
2151+
UNCOMPRESSED_GRAYSCALE = PixelFormat.UNCOMPRESSED_GRAYSCALE
2152+
UNCOMPRESSED_GRAY_ALPHA = PixelFormat.UNCOMPRESSED_GRAY_ALPHA
2153+
UNCOMPRESSED_R5G6B5 = PixelFormat.UNCOMPRESSED_R5G6B5
2154+
UNCOMPRESSED_R8G8B8 = PixelFormat.UNCOMPRESSED_R8G8B8
2155+
UNCOMPRESSED_R5G5B5A1 = PixelFormat.UNCOMPRESSED_R5G5B5A1
2156+
UNCOMPRESSED_R4G4B4A4 = PixelFormat.UNCOMPRESSED_R4G4B4A4
2157+
UNCOMPRESSED_R8G8B8A8 = PixelFormat.UNCOMPRESSED_R8G8B8A8
2158+
UNCOMPRESSED_R32 = PixelFormat.UNCOMPRESSED_R32
2159+
UNCOMPRESSED_R32G32B32 = PixelFormat.UNCOMPRESSED_R32G32B32
2160+
UNCOMPRESSED_R32G32B32A32 = PixelFormat.UNCOMPRESSED_R32G32B32A32
2161+
COMPRESSED_DXT1_RGB = PixelFormat.COMPRESSED_DXT1_RGB
2162+
COMPRESSED_DXT1_RGBA = PixelFormat.COMPRESSED_DXT1_RGBA
2163+
COMPRESSED_DXT3_RGBA = PixelFormat.COMPRESSED_DXT3_RGBA
2164+
COMPRESSED_DXT5_RGBA = PixelFormat.COMPRESSED_DXT5_RGBA
2165+
COMPRESSED_ETC1_RGB = PixelFormat.COMPRESSED_ETC1_RGB
2166+
COMPRESSED_ETC2_RGB = PixelFormat.COMPRESSED_ETC2_RGB
2167+
COMPRESSED_ETC2_EAC_RGBA = PixelFormat.COMPRESSED_ETC2_EAC_RGBA
2168+
COMPRESSED_PVRT_RGB = PixelFormat.COMPRESSED_PVRT_RGB
2169+
COMPRESSED_PVRT_RGBA = PixelFormat.COMPRESSED_PVRT_RGBA
2170+
COMPRESSED_ASTC_4x4_RGBA = PixelFormat.COMPRESSED_ASTC_4x4_RGBA
2171+
COMPRESSED_ASTC_8x8_RGBA = PixelFormat.COMPRESSED_ASTC_8x8_RGBA
2172+
2173+
2174+
class TextureFilterMode(IntEnum):
2175+
FILTER_POINT = 0
2176+
FILTER_BILINEAR = 1
2177+
FILTER_TRILINEAR = 2
2178+
FILTER_ANISOTROPIC_4X = 3
2179+
FILTER_ANISOTROPIC_8X = 4
2180+
FILTER_ANISOTROPIC_16X = 5
2181+
2182+
FILTER_POINT = TextureFilterMode.FILTER_POINT
2183+
FILTER_BILINEAR = TextureFilterMode.FILTER_BILINEAR
2184+
FILTER_TRILINEAR = TextureFilterMode.FILTER_TRILINEAR
2185+
FILTER_ANISOTROPIC_4X = TextureFilterMode.FILTER_ANISOTROPIC_4X
2186+
FILTER_ANISOTROPIC_8X = TextureFilterMode.FILTER_ANISOTROPIC_8X
2187+
FILTER_ANISOTROPIC_16X = TextureFilterMode.FILTER_ANISOTROPIC_16X
2188+
2189+
2190+
class TextureWrapMode(IntEnum):
2191+
WRAP_REPEAT = 0
2192+
WRAP_CLAMP = 1
2193+
WRAP_MIRROR = 2
2194+
2195+
WRAP_REPEAT = TextureWrapMode.WRAP_REPEAT
2196+
WRAP_CLAMP = TextureWrapMode.WRAP_CLAMP
2197+
WRAP_MIRROR = TextureWrapMode.WRAP_MIRROR
2198+
2199+
class BlendMode(IntEnum):
2200+
BLEND_ALPHA = 0
2201+
BLEND_ADDITIVE = 1
2202+
BLEND_MULTIPLIED = 2
2203+
2204+
BLEND_ALPHA = BlendMode.BLEND_ALPHA
2205+
BLEND_ADDITIVE = BlendMode.BLEND_ADDITIVE
2206+
BLEND_MULTIPLIED = BlendMode.BLEND_MULTIPLIED
21182207

21192208
GESTURE_NONE = 0
21202209
GESTURE_TAP = 1

0 commit comments

Comments
 (0)