diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 75e9344..09f79b0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -43,6 +43,11 @@ jobs: sudo make install sudo cp ../src/extras/* /usr/local/include/ + - name: Copy extras + run: | + sudo cp physac/src/physac.h /usr/local/include/ + sudo cp raygui/src/raygui.h /usr/local/include/ + - name: Build raylib-python-cffi run: | python -m pip install --upgrade pip @@ -85,7 +90,10 @@ jobs: make -j2 sudo make install sudo cp ../src/extras/* /usr/local/include/ - + - name: Copy extras + run: | + sudo cp physac/src/physac.h /usr/local/include/ + sudo cp raygui/src/raygui.h /usr/local/include/ - name: Build raylib-python-cffi run: | python -m pip install --upgrade pip @@ -126,6 +134,10 @@ jobs: make -j2 sudo make install sudo cp ../src/extras/* /usr/local/include/ + - name: Copy extras + run: | + sudo cp physac/src/physac.h /usr/local/include/ + sudo cp raygui/src/raygui.h /usr/local/include/ - name: Build raylib-python-cffi run: | python -m pip install --upgrade pip @@ -221,6 +233,10 @@ jobs: cmake -DINCLUDE_EVERYTHING=on -DSUPPORT_FILEFORMAT_JPG=on -DWITH_PIC=on -DCMAKE_BUILD_TYPE=Release .. make -j2 sudo make install + - name: Copy extras + run: | + sudo cp physac/src/physac.h /usr/local/include/ + sudo cp raygui/src/raygui.h /usr/local/include/ - name: Build raylib-python-cffi run: | diff --git a/.gitmodules b/.gitmodules index 36278dc..379f708 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,9 @@ [submodule "raylib-c"] path = raylib-c url = https://github.com/raysan5/raylib.git +[submodule "raygui"] + path = raygui + url = https://github.com/raysan5/raygui.git +[submodule "physac"] + path = physac + url = https://github.com/raysan5/physac.git diff --git a/create_stub_pyray.py b/create_stub_pyray.py index 2e5bef1..01c4cd3 100644 --- a/create_stub_pyray.py +++ b/create_stub_pyray.py @@ -102,7 +102,7 @@ for struct in ffi.list_types()[0]: if ffi.typeof(struct).kind == "struct": if ffi.typeof(struct).fields is None: print("weird empty struct, skipping "+struct, file=sys.stderr) - break + continue print(f"class {struct}:") print(f' """ struct """') sig = "" diff --git a/create_stub_static.py b/create_stub_static.py index 32d4c4e..98940a6 100644 --- a/create_stub_static.py +++ b/create_stub_static.py @@ -95,7 +95,7 @@ for struct in ffi.list_types()[0]: if ffi.typeof(struct).kind == "struct": # if ffi.typeof(struct).fields is None: # print("weird empty struct, skipping", file=sys.stderr) - # break + # continue print(f"{struct}: struct") # sig = "" # for arg in ffi.typeof(struct).fields: diff --git a/docs-src/pyray.rst b/docs-src/pyray.rst index dfd9b81..a7129f7 100644 --- a/docs-src/pyray.rst +++ b/docs-src/pyray.rst @@ -1,15 +1,6 @@ Python API ============== -.. comment:: - - Link to API reference: - toctree:: - :maxdepth: 1 - - autoapi/pyray/index - - This is a wrapper around the C API with some syntactic sugar. The API is *still the same as Raylib*, so you should still reply on `the official Raylib docs `_, except: diff --git a/dynamic/raylib/enums.py b/dynamic/raylib/enums.py new file mode 100644 index 0000000..1e34cea --- /dev/null +++ b/dynamic/raylib/enums.py @@ -0,0 +1,698 @@ +from enum import IntEnum + +class ConfigFlags(IntEnum): + FLAG_VSYNC_HINT = 64 + FLAG_FULLSCREEN_MODE = 2 + FLAG_WINDOW_RESIZABLE = 4 + FLAG_WINDOW_UNDECORATED = 8 + FLAG_WINDOW_HIDDEN = 128 + FLAG_WINDOW_MINIMIZED = 512 + FLAG_WINDOW_MAXIMIZED = 1024 + FLAG_WINDOW_UNFOCUSED = 2048 + FLAG_WINDOW_TOPMOST = 4096 + FLAG_WINDOW_ALWAYS_RUN = 256 + FLAG_WINDOW_TRANSPARENT = 16 + FLAG_WINDOW_HIGHDPI = 8192 + FLAG_WINDOW_MOUSE_PASSTHROUGH = 16384 + FLAG_MSAA_4X_HINT = 32 + FLAG_INTERLACED_HINT = 65536 + +class TraceLogLevel(IntEnum): + LOG_ALL = 0 + LOG_TRACE = 1 + LOG_DEBUG = 2 + LOG_INFO = 3 + LOG_WARNING = 4 + LOG_ERROR = 5 + LOG_FATAL = 6 + LOG_NONE = 7 + +class KeyboardKey(IntEnum): + KEY_NULL = 0 + KEY_APOSTROPHE = 39 + KEY_COMMA = 44 + KEY_MINUS = 45 + KEY_PERIOD = 46 + KEY_SLASH = 47 + KEY_ZERO = 48 + KEY_ONE = 49 + KEY_TWO = 50 + KEY_THREE = 51 + KEY_FOUR = 52 + KEY_FIVE = 53 + KEY_SIX = 54 + KEY_SEVEN = 55 + KEY_EIGHT = 56 + KEY_NINE = 57 + KEY_SEMICOLON = 59 + KEY_EQUAL = 61 + KEY_A = 65 + KEY_B = 66 + KEY_C = 67 + KEY_D = 68 + KEY_E = 69 + KEY_F = 70 + KEY_G = 71 + KEY_H = 72 + KEY_I = 73 + KEY_J = 74 + KEY_K = 75 + KEY_L = 76 + KEY_M = 77 + KEY_N = 78 + KEY_O = 79 + KEY_P = 80 + KEY_Q = 81 + KEY_R = 82 + KEY_S = 83 + KEY_T = 84 + KEY_U = 85 + KEY_V = 86 + KEY_W = 87 + KEY_X = 88 + KEY_Y = 89 + KEY_Z = 90 + KEY_LEFT_BRACKET = 91 + KEY_BACKSLASH = 92 + KEY_RIGHT_BRACKET = 93 + KEY_GRAVE = 96 + KEY_SPACE = 32 + KEY_ESCAPE = 256 + KEY_ENTER = 257 + KEY_TAB = 258 + KEY_BACKSPACE = 259 + KEY_INSERT = 260 + KEY_DELETE = 261 + KEY_RIGHT = 262 + KEY_LEFT = 263 + KEY_DOWN = 264 + KEY_UP = 265 + KEY_PAGE_UP = 266 + KEY_PAGE_DOWN = 267 + KEY_HOME = 268 + KEY_END = 269 + KEY_CAPS_LOCK = 280 + KEY_SCROLL_LOCK = 281 + KEY_NUM_LOCK = 282 + KEY_PRINT_SCREEN = 283 + KEY_PAUSE = 284 + KEY_F1 = 290 + KEY_F2 = 291 + KEY_F3 = 292 + KEY_F4 = 293 + KEY_F5 = 294 + KEY_F6 = 295 + KEY_F7 = 296 + KEY_F8 = 297 + KEY_F9 = 298 + KEY_F10 = 299 + KEY_F11 = 300 + KEY_F12 = 301 + KEY_LEFT_SHIFT = 340 + KEY_LEFT_CONTROL = 341 + KEY_LEFT_ALT = 342 + KEY_LEFT_SUPER = 343 + KEY_RIGHT_SHIFT = 344 + KEY_RIGHT_CONTROL = 345 + KEY_RIGHT_ALT = 346 + KEY_RIGHT_SUPER = 347 + KEY_KB_MENU = 348 + KEY_KP_0 = 320 + KEY_KP_1 = 321 + KEY_KP_2 = 322 + KEY_KP_3 = 323 + KEY_KP_4 = 324 + KEY_KP_5 = 325 + KEY_KP_6 = 326 + KEY_KP_7 = 327 + KEY_KP_8 = 328 + KEY_KP_9 = 329 + KEY_KP_DECIMAL = 330 + KEY_KP_DIVIDE = 331 + KEY_KP_MULTIPLY = 332 + KEY_KP_SUBTRACT = 333 + KEY_KP_ADD = 334 + KEY_KP_ENTER = 335 + KEY_KP_EQUAL = 336 + KEY_BACK = 4 + KEY_MENU = 82 + KEY_VOLUME_UP = 24 + KEY_VOLUME_DOWN = 25 + +class MouseButton(IntEnum): + MOUSE_BUTTON_LEFT = 0 + MOUSE_BUTTON_RIGHT = 1 + MOUSE_BUTTON_MIDDLE = 2 + MOUSE_BUTTON_SIDE = 3 + MOUSE_BUTTON_EXTRA = 4 + MOUSE_BUTTON_FORWARD = 5 + MOUSE_BUTTON_BACK = 6 + +class MouseCursor(IntEnum): + MOUSE_CURSOR_DEFAULT = 0 + MOUSE_CURSOR_ARROW = 1 + MOUSE_CURSOR_IBEAM = 2 + MOUSE_CURSOR_CROSSHAIR = 3 + MOUSE_CURSOR_POINTING_HAND = 4 + MOUSE_CURSOR_RESIZE_EW = 5 + MOUSE_CURSOR_RESIZE_NS = 6 + MOUSE_CURSOR_RESIZE_NWSE = 7 + MOUSE_CURSOR_RESIZE_NESW = 8 + MOUSE_CURSOR_RESIZE_ALL = 9 + MOUSE_CURSOR_NOT_ALLOWED = 10 + +class GamepadButton(IntEnum): + GAMEPAD_BUTTON_UNKNOWN = 0 + GAMEPAD_BUTTON_LEFT_FACE_UP = 1 + GAMEPAD_BUTTON_LEFT_FACE_RIGHT = 2 + GAMEPAD_BUTTON_LEFT_FACE_DOWN = 3 + GAMEPAD_BUTTON_LEFT_FACE_LEFT = 4 + GAMEPAD_BUTTON_RIGHT_FACE_UP = 5 + GAMEPAD_BUTTON_RIGHT_FACE_RIGHT = 6 + GAMEPAD_BUTTON_RIGHT_FACE_DOWN = 7 + GAMEPAD_BUTTON_RIGHT_FACE_LEFT = 8 + GAMEPAD_BUTTON_LEFT_TRIGGER_1 = 9 + GAMEPAD_BUTTON_LEFT_TRIGGER_2 = 10 + GAMEPAD_BUTTON_RIGHT_TRIGGER_1 = 11 + GAMEPAD_BUTTON_RIGHT_TRIGGER_2 = 12 + GAMEPAD_BUTTON_MIDDLE_LEFT = 13 + GAMEPAD_BUTTON_MIDDLE = 14 + GAMEPAD_BUTTON_MIDDLE_RIGHT = 15 + GAMEPAD_BUTTON_LEFT_THUMB = 16 + GAMEPAD_BUTTON_RIGHT_THUMB = 17 + +class GamepadAxis(IntEnum): + GAMEPAD_AXIS_LEFT_X = 0 + GAMEPAD_AXIS_LEFT_Y = 1 + GAMEPAD_AXIS_RIGHT_X = 2 + GAMEPAD_AXIS_RIGHT_Y = 3 + GAMEPAD_AXIS_LEFT_TRIGGER = 4 + GAMEPAD_AXIS_RIGHT_TRIGGER = 5 + +class MaterialMapIndex(IntEnum): + MATERIAL_MAP_ALBEDO = 0 + MATERIAL_MAP_METALNESS = 1 + MATERIAL_MAP_NORMAL = 2 + MATERIAL_MAP_ROUGHNESS = 3 + MATERIAL_MAP_OCCLUSION = 4 + MATERIAL_MAP_EMISSION = 5 + MATERIAL_MAP_HEIGHT = 6 + MATERIAL_MAP_CUBEMAP = 7 + MATERIAL_MAP_IRRADIANCE = 8 + MATERIAL_MAP_PREFILTER = 9 + MATERIAL_MAP_BRDF = 10 + +class ShaderLocationIndex(IntEnum): + SHADER_LOC_VERTEX_POSITION = 0 + SHADER_LOC_VERTEX_TEXCOORD01 = 1 + SHADER_LOC_VERTEX_TEXCOORD02 = 2 + SHADER_LOC_VERTEX_NORMAL = 3 + SHADER_LOC_VERTEX_TANGENT = 4 + SHADER_LOC_VERTEX_COLOR = 5 + SHADER_LOC_MATRIX_MVP = 6 + SHADER_LOC_MATRIX_VIEW = 7 + SHADER_LOC_MATRIX_PROJECTION = 8 + SHADER_LOC_MATRIX_MODEL = 9 + SHADER_LOC_MATRIX_NORMAL = 10 + SHADER_LOC_VECTOR_VIEW = 11 + SHADER_LOC_COLOR_DIFFUSE = 12 + SHADER_LOC_COLOR_SPECULAR = 13 + SHADER_LOC_COLOR_AMBIENT = 14 + SHADER_LOC_MAP_ALBEDO = 15 + SHADER_LOC_MAP_METALNESS = 16 + SHADER_LOC_MAP_NORMAL = 17 + SHADER_LOC_MAP_ROUGHNESS = 18 + SHADER_LOC_MAP_OCCLUSION = 19 + SHADER_LOC_MAP_EMISSION = 20 + SHADER_LOC_MAP_HEIGHT = 21 + SHADER_LOC_MAP_CUBEMAP = 22 + SHADER_LOC_MAP_IRRADIANCE = 23 + SHADER_LOC_MAP_PREFILTER = 24 + SHADER_LOC_MAP_BRDF = 25 + +class ShaderUniformDataType(IntEnum): + SHADER_UNIFORM_FLOAT = 0 + SHADER_UNIFORM_VEC2 = 1 + SHADER_UNIFORM_VEC3 = 2 + SHADER_UNIFORM_VEC4 = 3 + SHADER_UNIFORM_INT = 4 + SHADER_UNIFORM_IVEC2 = 5 + SHADER_UNIFORM_IVEC3 = 6 + SHADER_UNIFORM_IVEC4 = 7 + SHADER_UNIFORM_SAMPLER2D = 8 + +class ShaderAttributeDataType(IntEnum): + SHADER_ATTRIB_FLOAT = 0 + SHADER_ATTRIB_VEC2 = 1 + SHADER_ATTRIB_VEC3 = 2 + SHADER_ATTRIB_VEC4 = 3 + +class PixelFormat(IntEnum): + PIXELFORMAT_UNCOMPRESSED_GRAYSCALE = 1 + PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA = 2 + PIXELFORMAT_UNCOMPRESSED_R5G6B5 = 3 + PIXELFORMAT_UNCOMPRESSED_R8G8B8 = 4 + PIXELFORMAT_UNCOMPRESSED_R5G5B5A1 = 5 + PIXELFORMAT_UNCOMPRESSED_R4G4B4A4 = 6 + PIXELFORMAT_UNCOMPRESSED_R8G8B8A8 = 7 + PIXELFORMAT_UNCOMPRESSED_R32 = 8 + PIXELFORMAT_UNCOMPRESSED_R32G32B32 = 9 + PIXELFORMAT_UNCOMPRESSED_R32G32B32A32 = 10 + PIXELFORMAT_COMPRESSED_DXT1_RGB = 11 + PIXELFORMAT_COMPRESSED_DXT1_RGBA = 12 + PIXELFORMAT_COMPRESSED_DXT3_RGBA = 13 + PIXELFORMAT_COMPRESSED_DXT5_RGBA = 14 + PIXELFORMAT_COMPRESSED_ETC1_RGB = 15 + PIXELFORMAT_COMPRESSED_ETC2_RGB = 16 + PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA = 17 + PIXELFORMAT_COMPRESSED_PVRT_RGB = 18 + PIXELFORMAT_COMPRESSED_PVRT_RGBA = 19 + PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA = 20 + PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA = 21 + +class TextureFilter(IntEnum): + TEXTURE_FILTER_POINT = 0 + TEXTURE_FILTER_BILINEAR = 1 + TEXTURE_FILTER_TRILINEAR = 2 + TEXTURE_FILTER_ANISOTROPIC_4X = 3 + TEXTURE_FILTER_ANISOTROPIC_8X = 4 + TEXTURE_FILTER_ANISOTROPIC_16X = 5 + +class TextureWrap(IntEnum): + TEXTURE_WRAP_REPEAT = 0 + TEXTURE_WRAP_CLAMP = 1 + TEXTURE_WRAP_MIRROR_REPEAT = 2 + TEXTURE_WRAP_MIRROR_CLAMP = 3 + +class CubemapLayout(IntEnum): + CUBEMAP_LAYOUT_AUTO_DETECT = 0 + CUBEMAP_LAYOUT_LINE_VERTICAL = 1 + CUBEMAP_LAYOUT_LINE_HORIZONTAL = 2 + CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR = 3 + CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE = 4 + CUBEMAP_LAYOUT_PANORAMA = 5 + +class FontType(IntEnum): + FONT_DEFAULT = 0 + FONT_BITMAP = 1 + FONT_SDF = 2 + +class BlendMode(IntEnum): + BLEND_ALPHA = 0 + BLEND_ADDITIVE = 1 + BLEND_MULTIPLIED = 2 + BLEND_ADD_COLORS = 3 + BLEND_SUBTRACT_COLORS = 4 + BLEND_ALPHA_PREMULTIPLY = 5 + BLEND_CUSTOM = 6 + +class Gesture(IntEnum): + GESTURE_NONE = 0 + GESTURE_TAP = 1 + GESTURE_DOUBLETAP = 2 + GESTURE_HOLD = 4 + GESTURE_DRAG = 8 + GESTURE_SWIPE_RIGHT = 16 + GESTURE_SWIPE_LEFT = 32 + GESTURE_SWIPE_UP = 64 + GESTURE_SWIPE_DOWN = 128 + GESTURE_PINCH_IN = 256 + GESTURE_PINCH_OUT = 512 + +class CameraMode(IntEnum): + CAMERA_CUSTOM = 0 + CAMERA_FREE = 1 + CAMERA_ORBITAL = 2 + CAMERA_FIRST_PERSON = 3 + CAMERA_THIRD_PERSON = 4 + +class CameraProjection(IntEnum): + CAMERA_PERSPECTIVE = 0 + CAMERA_ORTHOGRAPHIC = 1 + +class NPatchLayout(IntEnum): + NPATCH_NINE_PATCH = 0 + NPATCH_THREE_PATCH_VERTICAL = 1 + NPATCH_THREE_PATCH_HORIZONTAL = 2 + +class GuiState(IntEnum): + STATE_NORMAL = 0 + STATE_FOCUSED = 1 + STATE_PRESSED = 2 + STATE_DISABLED = 3 + +class GuiTextAlignment(IntEnum): + TEXT_ALIGN_LEFT = 0 + TEXT_ALIGN_CENTER = 1 + TEXT_ALIGN_RIGHT = 2 + +class GuiControl(IntEnum): + DEFAULT = 0 + LABEL = 1 + BUTTON = 2 + TOGGLE = 3 + SLIDER = 4 + PROGRESSBAR = 5 + CHECKBOX = 6 + COMBOBOX = 7 + DROPDOWNBOX = 8 + TEXTBOX = 9 + VALUEBOX = 10 + SPINNER = 11 + LISTVIEW = 12 + COLORPICKER = 13 + SCROLLBAR = 14 + STATUSBAR = 15 + +class GuiControlProperty(IntEnum): + BORDER_COLOR_NORMAL = 0 + BASE_COLOR_NORMAL = 1 + TEXT_COLOR_NORMAL = 2 + BORDER_COLOR_FOCUSED = 3 + BASE_COLOR_FOCUSED = 4 + TEXT_COLOR_FOCUSED = 5 + BORDER_COLOR_PRESSED = 6 + BASE_COLOR_PRESSED = 7 + TEXT_COLOR_PRESSED = 8 + BORDER_COLOR_DISABLED = 9 + BASE_COLOR_DISABLED = 10 + TEXT_COLOR_DISABLED = 11 + BORDER_WIDTH = 12 + TEXT_PADDING = 13 + TEXT_ALIGNMENT = 14 + RESERVED = 15 + +class GuiDefaultProperty(IntEnum): + TEXT_SIZE = 16 + TEXT_SPACING = 17 + LINE_COLOR = 18 + BACKGROUND_COLOR = 19 + +class GuiToggleProperty(IntEnum): + GROUP_PADDING = 16 + +class GuiSliderProperty(IntEnum): + SLIDER_WIDTH = 16 + SLIDER_PADDING = 17 + +class GuiProgressBarProperty(IntEnum): + PROGRESS_PADDING = 16 + +class GuiScrollBarProperty(IntEnum): + ARROWS_SIZE = 16 + ARROWS_VISIBLE = 17 + SCROLL_SLIDER_PADDING = 18 + SCROLL_SLIDER_SIZE = 19 + SCROLL_PADDING = 20 + SCROLL_SPEED = 21 + +class GuiCheckBoxProperty(IntEnum): + CHECK_PADDING = 16 + +class GuiComboBoxProperty(IntEnum): + COMBO_BUTTON_WIDTH = 16 + COMBO_BUTTON_SPACING = 17 + +class GuiDropdownBoxProperty(IntEnum): + ARROW_PADDING = 16 + DROPDOWN_ITEMS_SPACING = 17 + +class GuiTextBoxProperty(IntEnum): + TEXT_INNER_PADDING = 16 + TEXT_LINES_SPACING = 17 + +class GuiSpinnerProperty(IntEnum): + SPIN_BUTTON_WIDTH = 16 + SPIN_BUTTON_SPACING = 17 + +class GuiListViewProperty(IntEnum): + LIST_ITEMS_HEIGHT = 16 + LIST_ITEMS_SPACING = 17 + SCROLLBAR_WIDTH = 18 + SCROLLBAR_SIDE = 19 + +class GuiColorPickerProperty(IntEnum): + COLOR_SELECTOR_SIZE = 16 + HUEBAR_WIDTH = 17 + HUEBAR_PADDING = 18 + HUEBAR_SELECTOR_HEIGHT = 19 + HUEBAR_SELECTOR_OVERFLOW = 20 + +class GuiIconName(IntEnum): + ICON_NONE = 0 + ICON_FOLDER_FILE_OPEN = 1 + ICON_FILE_SAVE_CLASSIC = 2 + ICON_FOLDER_OPEN = 3 + ICON_FOLDER_SAVE = 4 + ICON_FILE_OPEN = 5 + ICON_FILE_SAVE = 6 + ICON_FILE_EXPORT = 7 + ICON_FILE_ADD = 8 + ICON_FILE_DELETE = 9 + ICON_FILETYPE_TEXT = 10 + ICON_FILETYPE_AUDIO = 11 + ICON_FILETYPE_IMAGE = 12 + ICON_FILETYPE_PLAY = 13 + ICON_FILETYPE_VIDEO = 14 + ICON_FILETYPE_INFO = 15 + ICON_FILE_COPY = 16 + ICON_FILE_CUT = 17 + ICON_FILE_PASTE = 18 + ICON_CURSOR_HAND = 19 + ICON_CURSOR_POINTER = 20 + ICON_CURSOR_CLASSIC = 21 + ICON_PENCIL = 22 + ICON_PENCIL_BIG = 23 + ICON_BRUSH_CLASSIC = 24 + ICON_BRUSH_PAINTER = 25 + ICON_WATER_DROP = 26 + ICON_COLOR_PICKER = 27 + ICON_RUBBER = 28 + ICON_COLOR_BUCKET = 29 + ICON_TEXT_T = 30 + ICON_TEXT_A = 31 + ICON_SCALE = 32 + ICON_RESIZE = 33 + ICON_FILTER_POINT = 34 + ICON_FILTER_BILINEAR = 35 + ICON_CROP = 36 + ICON_CROP_ALPHA = 37 + ICON_SQUARE_TOGGLE = 38 + ICON_SYMMETRY = 39 + ICON_SYMMETRY_HORIZONTAL = 40 + ICON_SYMMETRY_VERTICAL = 41 + ICON_LENS = 42 + ICON_LENS_BIG = 43 + ICON_EYE_ON = 44 + ICON_EYE_OFF = 45 + ICON_FILTER_TOP = 46 + ICON_FILTER = 47 + ICON_TARGET_POINT = 48 + ICON_TARGET_SMALL = 49 + ICON_TARGET_BIG = 50 + ICON_TARGET_MOVE = 51 + ICON_CURSOR_MOVE = 52 + ICON_CURSOR_SCALE = 53 + ICON_CURSOR_SCALE_RIGHT = 54 + ICON_CURSOR_SCALE_LEFT = 55 + ICON_UNDO = 56 + ICON_REDO = 57 + ICON_REREDO = 58 + ICON_MUTATE = 59 + ICON_ROTATE = 60 + ICON_REPEAT = 61 + ICON_SHUFFLE = 62 + ICON_EMPTYBOX = 63 + ICON_TARGET = 64 + ICON_TARGET_SMALL_FILL = 65 + ICON_TARGET_BIG_FILL = 66 + ICON_TARGET_MOVE_FILL = 67 + ICON_CURSOR_MOVE_FILL = 68 + ICON_CURSOR_SCALE_FILL = 69 + ICON_CURSOR_SCALE_RIGHT_FILL = 70 + ICON_CURSOR_SCALE_LEFT_FILL = 71 + ICON_UNDO_FILL = 72 + ICON_REDO_FILL = 73 + ICON_REREDO_FILL = 74 + ICON_MUTATE_FILL = 75 + ICON_ROTATE_FILL = 76 + ICON_REPEAT_FILL = 77 + ICON_SHUFFLE_FILL = 78 + ICON_EMPTYBOX_SMALL = 79 + ICON_BOX = 80 + ICON_BOX_TOP = 81 + ICON_BOX_TOP_RIGHT = 82 + ICON_BOX_RIGHT = 83 + ICON_BOX_BOTTOM_RIGHT = 84 + ICON_BOX_BOTTOM = 85 + ICON_BOX_BOTTOM_LEFT = 86 + ICON_BOX_LEFT = 87 + ICON_BOX_TOP_LEFT = 88 + ICON_BOX_CENTER = 89 + ICON_BOX_CIRCLE_MASK = 90 + ICON_POT = 91 + ICON_ALPHA_MULTIPLY = 92 + ICON_ALPHA_CLEAR = 93 + ICON_DITHERING = 94 + ICON_MIPMAPS = 95 + ICON_BOX_GRID = 96 + ICON_GRID = 97 + ICON_BOX_CORNERS_SMALL = 98 + ICON_BOX_CORNERS_BIG = 99 + ICON_FOUR_BOXES = 100 + ICON_GRID_FILL = 101 + ICON_BOX_MULTISIZE = 102 + ICON_ZOOM_SMALL = 103 + ICON_ZOOM_MEDIUM = 104 + ICON_ZOOM_BIG = 105 + ICON_ZOOM_ALL = 106 + ICON_ZOOM_CENTER = 107 + ICON_BOX_DOTS_SMALL = 108 + ICON_BOX_DOTS_BIG = 109 + ICON_BOX_CONCENTRIC = 110 + ICON_BOX_GRID_BIG = 111 + ICON_OK_TICK = 112 + ICON_CROSS = 113 + ICON_ARROW_LEFT = 114 + ICON_ARROW_RIGHT = 115 + ICON_ARROW_DOWN = 116 + ICON_ARROW_UP = 117 + ICON_ARROW_LEFT_FILL = 118 + ICON_ARROW_RIGHT_FILL = 119 + ICON_ARROW_DOWN_FILL = 120 + ICON_ARROW_UP_FILL = 121 + ICON_AUDIO = 122 + ICON_FX = 123 + ICON_WAVE = 124 + ICON_WAVE_SINUS = 125 + ICON_WAVE_SQUARE = 126 + ICON_WAVE_TRIANGULAR = 127 + ICON_CROSS_SMALL = 128 + ICON_PLAYER_PREVIOUS = 129 + ICON_PLAYER_PLAY_BACK = 130 + ICON_PLAYER_PLAY = 131 + ICON_PLAYER_PAUSE = 132 + ICON_PLAYER_STOP = 133 + ICON_PLAYER_NEXT = 134 + ICON_PLAYER_RECORD = 135 + ICON_MAGNET = 136 + ICON_LOCK_CLOSE = 137 + ICON_LOCK_OPEN = 138 + ICON_CLOCK = 139 + ICON_TOOLS = 140 + ICON_GEAR = 141 + ICON_GEAR_BIG = 142 + ICON_BIN = 143 + ICON_HAND_POINTER = 144 + ICON_LASER = 145 + ICON_COIN = 146 + ICON_EXPLOSION = 147 + ICON_1UP = 148 + ICON_PLAYER = 149 + ICON_PLAYER_JUMP = 150 + ICON_KEY = 151 + ICON_DEMON = 152 + ICON_TEXT_POPUP = 153 + ICON_GEAR_EX = 154 + ICON_CRACK = 155 + ICON_CRACK_POINTS = 156 + ICON_STAR = 157 + ICON_DOOR = 158 + ICON_EXIT = 159 + ICON_MODE_2D = 160 + ICON_MODE_3D = 161 + ICON_CUBE = 162 + ICON_CUBE_FACE_TOP = 163 + ICON_CUBE_FACE_LEFT = 164 + ICON_CUBE_FACE_FRONT = 165 + ICON_CUBE_FACE_BOTTOM = 166 + ICON_CUBE_FACE_RIGHT = 167 + ICON_CUBE_FACE_BACK = 168 + ICON_CAMERA = 169 + ICON_SPECIAL = 170 + ICON_LINK_NET = 171 + ICON_LINK_BOXES = 172 + ICON_LINK_MULTI = 173 + ICON_LINK = 174 + ICON_LINK_BROKE = 175 + ICON_TEXT_NOTES = 176 + ICON_NOTEBOOK = 177 + ICON_SUITCASE = 178 + ICON_SUITCASE_ZIP = 179 + ICON_MAILBOX = 180 + ICON_MONITOR = 181 + ICON_PRINTER = 182 + ICON_PHOTO_CAMERA = 183 + ICON_PHOTO_CAMERA_FLASH = 184 + ICON_HOUSE = 185 + ICON_HEART = 186 + ICON_CORNER = 187 + ICON_VERTICAL_BARS = 188 + ICON_VERTICAL_BARS_FILL = 189 + ICON_LIFE_BARS = 190 + ICON_INFO = 191 + ICON_CROSSLINE = 192 + ICON_HELP = 193 + ICON_FILETYPE_ALPHA = 194 + ICON_FILETYPE_HOME = 195 + ICON_LAYERS_VISIBLE = 196 + ICON_LAYERS = 197 + ICON_WINDOW = 198 + ICON_HIDPI = 199 + ICON_FILETYPE_BINARY = 200 + ICON_HEX = 201 + ICON_SHIELD = 202 + ICON_FILE_NEW = 203 + ICON_FOLDER_ADD = 204 + ICON_ALARM = 205 + ICON_206 = 206 + ICON_207 = 207 + ICON_208 = 208 + ICON_209 = 209 + ICON_210 = 210 + ICON_211 = 211 + ICON_212 = 212 + ICON_213 = 213 + ICON_214 = 214 + ICON_215 = 215 + ICON_216 = 216 + ICON_217 = 217 + ICON_218 = 218 + ICON_219 = 219 + ICON_220 = 220 + ICON_221 = 221 + ICON_222 = 222 + ICON_223 = 223 + ICON_224 = 224 + ICON_225 = 225 + ICON_226 = 226 + ICON_227 = 227 + ICON_228 = 228 + ICON_229 = 229 + ICON_230 = 230 + ICON_231 = 231 + ICON_232 = 232 + ICON_233 = 233 + ICON_234 = 234 + ICON_235 = 235 + ICON_236 = 236 + ICON_237 = 237 + ICON_238 = 238 + ICON_239 = 239 + ICON_240 = 240 + ICON_241 = 241 + ICON_242 = 242 + ICON_243 = 243 + ICON_244 = 244 + ICON_245 = 245 + ICON_246 = 246 + ICON_247 = 247 + ICON_248 = 248 + ICON_249 = 249 + ICON_250 = 250 + ICON_251 = 251 + ICON_252 = 252 + ICON_253 = 253 + ICON_254 = 254 + ICON_255 = 255 + diff --git a/make_docs.sh b/make_docs.sh index f95ffef..1647c79 100755 --- a/make_docs.sh +++ b/make_docs.sh @@ -1,8 +1,8 @@ #!/usr/bin/env bash gcc raylib-c/parser/raylib_parser.c -./a.out -i raylib-c/src/extras/raygui.h -o raygui.json -f JSON -./a.out -i raylib-c/src/extras/physac.h -o physac.json -f JSON +./a.out -i raygui/src/raygui.h -o raygui.json -f JSON +./a.out -i physac/src/physac.h -o physac.json -f JSON ./a.out -i raylib-c/src/raylib.h -o raylib.json -f JSON python3 raylib/build.py diff --git a/physac b/physac new file mode 160000 index 0000000..4a8e17f --- /dev/null +++ b/physac @@ -0,0 +1 @@ +Subproject commit 4a8e17f263fb8e1150b3fbafc96f880c7d7a4833 diff --git a/pyray/__init__.pyi b/pyray/__init__.pyi index 79ea022..6f57ebb 100644 --- a/pyray/__init__.pyi +++ b/pyray/__init__.pyi @@ -4,6 +4,9 @@ from typing import Any def pointer(struct): ... +def attach_audio_stream_processor(stream: AudioStream,processor: Any,) -> None: + """""" + ... def begin_blend_mode(mode: int,) -> None: """Begin blending mode (alpha, additive, multiplied, subtract, custom)""" ... @@ -67,12 +70,6 @@ def check_collision_spheres(center1: Vector3,radius1: float,center2: Vector3,rad def clear_background(color: Color,) -> None: """Set background color (framebuffer clear color)""" ... -def clear_directory_files() -> None: - """Clear directory files paths buffers (free memory)""" - ... -def clear_dropped_files() -> None: - """Clear dropped files paths buffer (free memory)""" - ... def clear_window_state(flags: int,) -> None: """Clear window configuration state flags""" ... @@ -111,8 +108,8 @@ def color_to_hsv(color: Color,) -> Vector3: def color_to_int(color: Color,) -> int: """Get hexadecimal value for a Color""" ... -def compress_data(data: str,dataLength: int,compDataLength: Any,) -> str: - """Compress data (DEFLATE algorithm)""" +def compress_data(data: str,dataSize: int,compDataSize: Any,) -> str: + """Compress data (DEFLATE algorithm), memory must be MemFree()""" ... def create_physics_body_circle(Vector2_0: Vector2,float_1: float,float_2: float,) -> Any: """struct PhysicsBodyData *CreatePhysicsBodyCircle(struct Vector2, float, float); @@ -129,23 +126,29 @@ def create_physics_body_rectangle(Vector2_0: Vector2,float_1: float,float_2: flo CFFI C function from raylib._raylib_cffi.lib""" ... -def decode_data_base64(data: str,outputLength: Any,) -> str: - """Decode Base64 string data""" +def decode_data_base64(data: str,outputSize: Any,) -> str: + """Decode Base64 string data, memory must be MemFree()""" ... -def decompress_data(compData: str,compDataLength: int,dataLength: Any,) -> str: - """Decompress data (DEFLATE algorithm)""" +def decompress_data(compData: str,compDataSize: int,dataSize: Any,) -> str: + """Decompress data (DEFLATE algorithm), memory must be MemFree()""" ... def destroy_physics_body(PhysicsBodyData_pointer_0: Any,) -> None: """void DestroyPhysicsBody(struct PhysicsBodyData *); CFFI C function from raylib._raylib_cffi.lib""" ... +def detach_audio_stream_processor(stream: AudioStream,processor: Any,) -> None: + """""" + ... def directory_exists(dirPath: str,) -> bool: """Check if a directory path exists""" ... def disable_cursor() -> None: """Disables cursor (lock cursor)""" ... +def disable_event_waiting() -> None: + """Disable waiting for events on EndDrawing(), automatic events polling""" + ... def draw_billboard(camera: Camera3D,texture: Texture,position: Vector3,size: float,tint: Color,) -> None: """Draw a billboard texture""" ... @@ -398,8 +401,11 @@ def draw_triangle_strip_3d(points: Any,pointCount: int,color: Color,) -> None: def enable_cursor() -> None: """Enables cursor (unlock cursor)""" ... -def encode_data_base64(data: str,dataLength: int,outputLength: Any,) -> str: - """Encode data to Base64 string""" +def enable_event_waiting() -> None: + """Enable waiting for events on EndDrawing(), no automatic event polling""" + ... +def encode_data_base64(data: str,dataSize: int,outputSize: Any,) -> str: + """Encode data to Base64 string, memory must be MemFree()""" ... def end_blend_mode() -> None: """End blending mode (reset to default: alpha blending)""" @@ -425,6 +431,9 @@ def end_texture_mode() -> None: def end_vr_stereo_mode() -> None: """End stereo rendering (requires VR simulator)""" ... +def export_data_as_code(data: str,size: int,fileName: str,) -> bool: + """Export data to code (.h), returns true on success""" + ... def export_font_as_code(font: Font,fileName: str,) -> bool: """Export font as code file, returns true on success""" ... @@ -545,15 +554,9 @@ def get_color(hexValue: int,) -> Color: def get_current_monitor() -> int: """Get current connected monitor""" ... -def get_directory_files(dirPath: str,count: Any,) -> str: - """Get filenames in a directory path (memory should be freed)""" - ... def get_directory_path(filePath: str,) -> str: """Get full path for a given fileName with path (uses static string)""" ... -def get_dropped_files(count: Any,) -> str: - """Get dropped files names (memory should be freed)""" - ... def get_fps() -> int: """Get current FPS""" ... @@ -636,7 +639,7 @@ def get_monitor_count() -> int: """Get number of connected monitors""" ... def get_monitor_height(monitor: int,) -> int: - """Get specified monitor height (max available by monitor)""" + """Get specified monitor height (current video mode used by monitor)""" ... def get_monitor_name(monitor: int,) -> str: """Get the human-readable, UTF-8 encoded name of the primary monitor""" @@ -654,7 +657,7 @@ def get_monitor_refresh_rate(monitor: int,) -> int: """Get specified monitor refresh rate""" ... def get_monitor_width(monitor: int,) -> int: - """Get specified monitor width (max available by monitor)""" + """Get specified monitor width (current video mode used by monitor)""" ... def get_mouse_delta() -> Vector2: """Get mouse delta between frames""" @@ -723,9 +726,6 @@ def get_ray_collision_box(ray: Ray,box: BoundingBox,) -> RayCollision: def get_ray_collision_mesh(ray: Ray,mesh: Mesh,transform: Matrix,) -> RayCollision: """Get collision info between ray and mesh""" ... -def get_ray_collision_model(ray: Ray,model: Model,) -> RayCollision: - """Get collision info between ray and model""" - ... def get_ray_collision_quad(ray: Ray,p1: Vector3,p2: Vector3,p3: Vector3,p4: Vector3,) -> RayCollision: """Get collision info between ray and quad""" ... @@ -818,23 +818,23 @@ def gui_clear_icon_pixel(int_0: int,int_1: int,int_2: int,) -> None: CFFI C function from raylib._raylib_cffi.lib""" ... -def gui_color_bar_alpha(Rectangle_0: Rectangle,float_1: float,) -> float: - """float GuiColorBarAlpha(struct Rectangle, float); +def gui_color_bar_alpha(Rectangle_0: Rectangle,str_1: str,float_2: float,) -> float: + """float GuiColorBarAlpha(struct Rectangle, char *, float); CFFI C function from raylib._raylib_cffi.lib""" ... -def gui_color_bar_hue(Rectangle_0: Rectangle,float_1: float,) -> float: - """float GuiColorBarHue(struct Rectangle, float); +def gui_color_bar_hue(Rectangle_0: Rectangle,str_1: str,float_2: float,) -> float: + """float GuiColorBarHue(struct Rectangle, char *, float); CFFI C function from raylib._raylib_cffi.lib""" ... -def gui_color_panel(Rectangle_0: Rectangle,Color_1: Color,) -> Color: - """struct Color GuiColorPanel(struct Rectangle, struct Color); +def gui_color_panel(Rectangle_0: Rectangle,str_1: str,Color_2: Color,) -> Color: + """struct Color GuiColorPanel(struct Rectangle, char *, struct Color); CFFI C function from raylib._raylib_cffi.lib""" ... -def gui_color_picker(Rectangle_0: Rectangle,Color_1: Color,) -> Color: - """struct Color GuiColorPicker(struct Rectangle, struct Color); +def gui_color_picker(Rectangle_0: Rectangle,str_1: str,Color_2: Color,) -> Color: + """struct Color GuiColorPicker(struct Rectangle, char *, struct Color); CFFI C function from raylib._raylib_cffi.lib""" ... @@ -898,8 +898,8 @@ def gui_get_style(int_0: int,int_1: int,) -> int: CFFI C function from raylib._raylib_cffi.lib""" ... -def gui_grid(Rectangle_0: Rectangle,float_1: float,int_2: int,) -> Vector2: - """struct Vector2 GuiGrid(struct Rectangle, float, int); +def gui_grid(Rectangle_0: Rectangle,str_1: str,float_2: float,int_3: int,) -> Vector2: + """struct Vector2 GuiGrid(struct Rectangle, char *, float, int); CFFI C function from raylib._raylib_cffi.lib""" ... @@ -963,8 +963,8 @@ def gui_message_box(Rectangle_0: Rectangle,str_1: str,str_2: str,str_3: str,) -> CFFI C function from raylib._raylib_cffi.lib""" ... -def gui_panel(Rectangle_0: Rectangle,) -> None: - """void GuiPanel(struct Rectangle); +def gui_panel(Rectangle_0: Rectangle,str_1: str,) -> None: + """void GuiPanel(struct Rectangle, char *); CFFI C function from raylib._raylib_cffi.lib""" ... @@ -973,13 +973,8 @@ def gui_progress_bar(Rectangle_0: Rectangle,str_1: str,str_2: str,float_3: float CFFI C function from raylib._raylib_cffi.lib""" ... -def gui_scroll_bar(Rectangle_0: Rectangle,int_1: int,int_2: int,int_3: int,) -> int: - """int GuiScrollBar(struct Rectangle, int, int, int); - -CFFI C function from raylib._raylib_cffi.lib""" - ... -def gui_scroll_panel(Rectangle_0: Rectangle,Rectangle_1: Rectangle,Vector2_pointer_2: Any,) -> Rectangle: - """struct Rectangle GuiScrollPanel(struct Rectangle, struct Rectangle, struct Vector2 *); +def gui_scroll_panel(Rectangle_0: Rectangle,str_1: str,Rectangle_2: Rectangle,Vector2_pointer_3: Any,) -> Rectangle: + """struct Rectangle GuiScrollPanel(struct Rectangle, char *, struct Rectangle, struct Vector2 *); CFFI C function from raylib._raylib_cffi.lib""" ... @@ -996,6 +991,11 @@ CFFI C function from raylib._raylib_cffi.lib""" def gui_set_icon_pixel(int_0: int,int_1: int,int_2: int,) -> None: """void GuiSetIconPixel(int, int, int); +CFFI C function from raylib._raylib_cffi.lib""" + ... +def gui_set_icon_scale(unsignedint_0: int,) -> None: + """void GuiSetIconScale(unsigned int); + CFFI C function from raylib._raylib_cffi.lib""" ... def gui_set_state(int_0: int,) -> None: @@ -1038,8 +1038,8 @@ def gui_text_box_multi(Rectangle_0: Rectangle,str_1: str,int_2: int,_Bool_3: boo CFFI C function from raylib._raylib_cffi.lib""" ... -def gui_text_input_box(Rectangle_0: Rectangle,str_1: str,str_2: str,str_3: str,str_4: str,) -> int: - """int GuiTextInputBox(struct Rectangle, char *, char *, char *, char *); +def gui_text_input_box(Rectangle_0: Rectangle,str_1: str,str_2: str,str_3: str,str_4: str,int_5: int,int_pointer_6: Any,) -> int: + """int GuiTextInputBox(struct Rectangle, char *, char *, char *, char *, int, int *); CFFI C function from raylib._raylib_cffi.lib""" ... @@ -1271,6 +1271,9 @@ def is_mouse_button_up(button: int,) -> bool: def is_music_stream_playing(music: Music,) -> bool: """Check if music is playing""" ... +def is_path_file(path: str,) -> bool: + """Check if a given path is a file or a directory""" + ... def is_sound_playing(sound: Sound,) -> bool: """Check if a sound is currently playing""" ... @@ -1304,6 +1307,15 @@ def load_audio_stream(sampleRate: int,sampleSize: int,channels: int,) -> AudioSt def load_codepoints(text: str,count: Any,) -> Any: """Load all codepoints from a UTF-8 text string, codepoints count returned by parameter""" ... +def load_directory_files(dirPath: str,) -> FilePathList: + """Load directory filepaths""" + ... +def load_directory_files_ex(basePath: str,filter: str,scanSubdirs: bool,) -> FilePathList: + """Load directory filepaths with extension filtering and recursive directory scan""" + ... +def load_dropped_files() -> FilePathList: + """Load dropped filepaths""" + ... def load_file_data(fileName: str,bytesRead: Any,) -> str: """Load file data as byte array (read)""" ... @@ -1504,6 +1516,9 @@ def seek_music_stream(music: Music,position: float,) -> None: def set_audio_stream_buffer_size_default(size: int,) -> None: """Default size for new audio streams""" ... +def set_audio_stream_callback(stream: AudioStream,callback: Any,) -> None: + """Audio thread callback to request new data""" + ... def set_audio_stream_pan(stream: AudioStream,pan: float,) -> None: """Set pan for audio stream (0.5 is centered)""" ... @@ -1750,6 +1765,12 @@ def unload_audio_stream(stream: AudioStream,) -> None: def unload_codepoints(codepoints: Any,) -> None: """Unload codepoints data from memory""" ... +def unload_directory_files(files: FilePathList,) -> None: + """Unload filepaths""" + ... +def unload_dropped_files(files: FilePathList,) -> None: + """Unload dropped filepaths""" + ... def unload_file_data(data: str,) -> None: """Unload file data allocated by LoadFileData()""" ... @@ -1845,8 +1866,8 @@ def update_texture_rec(texture: Texture,rec: Rectangle,pixels: Any,) -> None: def upload_mesh(mesh: Any,dynamic: bool,) -> None: """Upload mesh vertex data in GPU and provide VAO/VBO ids""" ... -def wait_time(ms: float,) -> None: - """Wait for some milliseconds (halt program execution)""" +def wait_time(seconds: float,) -> None: + """Wait for some time (halt program execution)""" ... def wave_copy(wave: Wave,) -> Wave: """Copy a wave to a new wave""" @@ -2388,6 +2409,16 @@ CFFI C function from raylib._raylib_cffi.lib""" def rl_set_blend_mode(int_0: int,) -> None: """void rlSetBlendMode(int); +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_set_framebuffer_height(int_0: int,) -> None: + """void rlSetFramebufferHeight(int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rl_set_framebuffer_width(int_0: int,) -> None: + """void rlSetFramebufferWidth(int); + CFFI C function from raylib._raylib_cffi.lib""" ... def rl_set_line_width(float_0: float,) -> None: @@ -2562,8 +2593,9 @@ CFFI C function from raylib._raylib_cffi.lib""" ... class AudioStream: """ struct """ - def __init__(self, buffer, sampleRate, sampleSize, channels): + def __init__(self, buffer, processor, sampleRate, sampleSize, channels): self.buffer=buffer + self.processor=processor self.sampleRate=sampleRate self.sampleSize=sampleSize self.channels=channels @@ -2607,6 +2639,11 @@ class Color: self.g=g self.b=b self.a=a +class FilePathList: + """ struct """ + def __init__(self, count, paths): + self.count=count + self.paths=paths class Font: """ struct """ def __init__(self, baseSize, glyphCount, glyphPadding, texture, recs, glyphs): @@ -2907,6 +2944,32 @@ class Wave: self.sampleSize=sampleSize self.channels=channels self.data=data +class rlDrawCall: + """ struct """ + def __init__(self, mode, vertexCount, vertexAlignment, textureId): + self.mode=mode + self.vertexCount=vertexCount + self.vertexAlignment=vertexAlignment + self.textureId=textureId +class rlRenderBatch: + """ struct """ + def __init__(self, bufferCount, currentBuffer, vertexBuffer, draws, drawCounter, currentDepth): + self.bufferCount=bufferCount + self.currentBuffer=currentBuffer + self.vertexBuffer=vertexBuffer + self.draws=draws + self.drawCounter=drawCounter + self.currentDepth=currentDepth +class rlVertexBuffer: + """ struct """ + def __init__(self, elementCount, vertices, texcoords, colors, indices, vaoId, vboId): + self.elementCount=elementCount + self.vertices=vertices + self.texcoords=texcoords + self.colors=colors + self.indices=indices + self.vaoId=vaoId + self.vboId=vboId from enum import IntEnum class ConfigFlags(IntEnum): @@ -2922,6 +2985,7 @@ class ConfigFlags(IntEnum): FLAG_WINDOW_ALWAYS_RUN = 256 FLAG_WINDOW_TRANSPARENT = 16 FLAG_WINDOW_HIGHDPI = 8192 + FLAG_WINDOW_MOUSE_PASSTHROUGH = 16384 FLAG_MSAA_4X_HINT = 32 FLAG_INTERLACED_HINT = 65536 @@ -3211,7 +3275,7 @@ class BlendMode(IntEnum): BLEND_MULTIPLIED = 2 BLEND_ADD_COLORS = 3 BLEND_SUBTRACT_COLORS = 4 - BLEND_ALPHA_PREMUL = 5 + BLEND_ALPHA_PREMULTIPLY = 5 BLEND_CUSTOM = 6 class Gesture(IntEnum): @@ -3243,16 +3307,16 @@ class NPatchLayout(IntEnum): NPATCH_THREE_PATCH_VERTICAL = 1 NPATCH_THREE_PATCH_HORIZONTAL = 2 -class GuiControlState(IntEnum): - GUI_STATE_NORMAL = 0 - GUI_STATE_FOCUSED = 1 - GUI_STATE_PRESSED = 2 - GUI_STATE_DISABLED = 3 +class GuiState(IntEnum): + STATE_NORMAL = 0 + STATE_FOCUSED = 1 + STATE_PRESSED = 2 + STATE_DISABLED = 3 class GuiTextAlignment(IntEnum): - GUI_TEXT_ALIGN_LEFT = 0 - GUI_TEXT_ALIGN_CENTER = 1 - GUI_TEXT_ALIGN_RIGHT = 2 + TEXT_ALIGN_LEFT = 0 + TEXT_ALIGN_CENTER = 1 + TEXT_ALIGN_RIGHT = 2 class GuiControl(IntEnum): DEFAULT = 0 @@ -3306,27 +3370,6 @@ class GuiSliderProperty(IntEnum): class GuiProgressBarProperty(IntEnum): PROGRESS_PADDING = 16 -class GuiCheckBoxProperty(IntEnum): - CHECK_PADDING = 16 - -class GuiComboBoxProperty(IntEnum): - COMBO_BUTTON_WIDTH = 16 - COMBO_BUTTON_PADDING = 17 - -class GuiDropdownBoxProperty(IntEnum): - ARROW_PADDING = 16 - DROPDOWN_ITEMS_PADDING = 17 - -class GuiTextBoxProperty(IntEnum): - TEXT_INNER_PADDING = 16 - TEXT_LINES_PADDING = 17 - COLOR_SELECTED_FG = 18 - COLOR_SELECTED_BG = 19 - -class GuiSpinnerProperty(IntEnum): - SPIN_BUTTON_WIDTH = 16 - SPIN_BUTTON_PADDING = 17 - class GuiScrollBarProperty(IntEnum): ARROWS_SIZE = 16 ARROWS_VISIBLE = 17 @@ -3335,13 +3378,28 @@ class GuiScrollBarProperty(IntEnum): SCROLL_PADDING = 20 SCROLL_SPEED = 21 -class GuiScrollBarSide(IntEnum): - SCROLLBAR_LEFT_SIDE = 0 - SCROLLBAR_RIGHT_SIDE = 1 +class GuiCheckBoxProperty(IntEnum): + CHECK_PADDING = 16 + +class GuiComboBoxProperty(IntEnum): + COMBO_BUTTON_WIDTH = 16 + COMBO_BUTTON_SPACING = 17 + +class GuiDropdownBoxProperty(IntEnum): + ARROW_PADDING = 16 + DROPDOWN_ITEMS_SPACING = 17 + +class GuiTextBoxProperty(IntEnum): + TEXT_INNER_PADDING = 16 + TEXT_LINES_SPACING = 17 + +class GuiSpinnerProperty(IntEnum): + SPIN_BUTTON_WIDTH = 16 + SPIN_BUTTON_SPACING = 17 class GuiListViewProperty(IntEnum): LIST_ITEMS_HEIGHT = 16 - LIST_ITEMS_PADDING = 17 + LIST_ITEMS_SPACING = 17 SCROLLBAR_WIDTH = 18 SCROLLBAR_SIDE = 19 @@ -3352,261 +3410,261 @@ class GuiColorPickerProperty(IntEnum): HUEBAR_SELECTOR_HEIGHT = 19 HUEBAR_SELECTOR_OVERFLOW = 20 -class guiIconName(IntEnum): - RICON_NONE = 0 - RICON_FOLDER_FILE_OPEN = 1 - RICON_FILE_SAVE_CLASSIC = 2 - RICON_FOLDER_OPEN = 3 - RICON_FOLDER_SAVE = 4 - RICON_FILE_OPEN = 5 - RICON_FILE_SAVE = 6 - RICON_FILE_EXPORT = 7 - RICON_FILE_NEW = 8 - RICON_FILE_DELETE = 9 - RICON_FILETYPE_TEXT = 10 - RICON_FILETYPE_AUDIO = 11 - RICON_FILETYPE_IMAGE = 12 - RICON_FILETYPE_PLAY = 13 - RICON_FILETYPE_VIDEO = 14 - RICON_FILETYPE_INFO = 15 - RICON_FILE_COPY = 16 - RICON_FILE_CUT = 17 - RICON_FILE_PASTE = 18 - RICON_CURSOR_HAND = 19 - RICON_CURSOR_POINTER = 20 - RICON_CURSOR_CLASSIC = 21 - RICON_PENCIL = 22 - RICON_PENCIL_BIG = 23 - RICON_BRUSH_CLASSIC = 24 - RICON_BRUSH_PAINTER = 25 - RICON_WATER_DROP = 26 - RICON_COLOR_PICKER = 27 - RICON_RUBBER = 28 - RICON_COLOR_BUCKET = 29 - RICON_TEXT_T = 30 - RICON_TEXT_A = 31 - RICON_SCALE = 32 - RICON_RESIZE = 33 - RICON_FILTER_POINT = 34 - RICON_FILTER_BILINEAR = 35 - RICON_CROP = 36 - RICON_CROP_ALPHA = 37 - RICON_SQUARE_TOGGLE = 38 - RICON_SYMMETRY = 39 - RICON_SYMMETRY_HORIZONTAL = 40 - RICON_SYMMETRY_VERTICAL = 41 - RICON_LENS = 42 - RICON_LENS_BIG = 43 - RICON_EYE_ON = 44 - RICON_EYE_OFF = 45 - RICON_FILTER_TOP = 46 - RICON_FILTER = 47 - RICON_TARGET_POINT = 48 - RICON_TARGET_SMALL = 49 - RICON_TARGET_BIG = 50 - RICON_TARGET_MOVE = 51 - RICON_CURSOR_MOVE = 52 - RICON_CURSOR_SCALE = 53 - RICON_CURSOR_SCALE_RIGHT = 54 - RICON_CURSOR_SCALE_LEFT = 55 - RICON_UNDO = 56 - RICON_REDO = 57 - RICON_REREDO = 58 - RICON_MUTATE = 59 - RICON_ROTATE = 60 - RICON_REPEAT = 61 - RICON_SHUFFLE = 62 - RICON_EMPTYBOX = 63 - RICON_TARGET = 64 - RICON_TARGET_SMALL_FILL = 65 - RICON_TARGET_BIG_FILL = 66 - RICON_TARGET_MOVE_FILL = 67 - RICON_CURSOR_MOVE_FILL = 68 - RICON_CURSOR_SCALE_FILL = 69 - RICON_CURSOR_SCALE_RIGHT_FILL = 70 - RICON_CURSOR_SCALE_LEFT_FILL = 71 - RICON_UNDO_FILL = 72 - RICON_REDO_FILL = 73 - RICON_REREDO_FILL = 74 - RICON_MUTATE_FILL = 75 - RICON_ROTATE_FILL = 76 - RICON_REPEAT_FILL = 77 - RICON_SHUFFLE_FILL = 78 - RICON_EMPTYBOX_SMALL = 79 - RICON_BOX = 80 - RICON_BOX_TOP = 81 - RICON_BOX_TOP_RIGHT = 82 - RICON_BOX_RIGHT = 83 - RICON_BOX_BOTTOM_RIGHT = 84 - RICON_BOX_BOTTOM = 85 - RICON_BOX_BOTTOM_LEFT = 86 - RICON_BOX_LEFT = 87 - RICON_BOX_TOP_LEFT = 88 - RICON_BOX_CENTER = 89 - RICON_BOX_CIRCLE_MASK = 90 - RICON_POT = 91 - RICON_ALPHA_MULTIPLY = 92 - RICON_ALPHA_CLEAR = 93 - RICON_DITHERING = 94 - RICON_MIPMAPS = 95 - RICON_BOX_GRID = 96 - RICON_GRID = 97 - RICON_BOX_CORNERS_SMALL = 98 - RICON_BOX_CORNERS_BIG = 99 - RICON_FOUR_BOXES = 100 - RICON_GRID_FILL = 101 - RICON_BOX_MULTISIZE = 102 - RICON_ZOOM_SMALL = 103 - RICON_ZOOM_MEDIUM = 104 - RICON_ZOOM_BIG = 105 - RICON_ZOOM_ALL = 106 - RICON_ZOOM_CENTER = 107 - RICON_BOX_DOTS_SMALL = 108 - RICON_BOX_DOTS_BIG = 109 - RICON_BOX_CONCENTRIC = 110 - RICON_BOX_GRID_BIG = 111 - RICON_OK_TICK = 112 - RICON_CROSS = 113 - RICON_ARROW_LEFT = 114 - RICON_ARROW_RIGHT = 115 - RICON_ARROW_DOWN = 116 - RICON_ARROW_UP = 117 - RICON_ARROW_LEFT_FILL = 118 - RICON_ARROW_RIGHT_FILL = 119 - RICON_ARROW_DOWN_FILL = 120 - RICON_ARROW_UP_FILL = 121 - RICON_AUDIO = 122 - RICON_FX = 123 - RICON_WAVE = 124 - RICON_WAVE_SINUS = 125 - RICON_WAVE_SQUARE = 126 - RICON_WAVE_TRIANGULAR = 127 - RICON_CROSS_SMALL = 128 - RICON_PLAYER_PREVIOUS = 129 - RICON_PLAYER_PLAY_BACK = 130 - RICON_PLAYER_PLAY = 131 - RICON_PLAYER_PAUSE = 132 - RICON_PLAYER_STOP = 133 - RICON_PLAYER_NEXT = 134 - RICON_PLAYER_RECORD = 135 - RICON_MAGNET = 136 - RICON_LOCK_CLOSE = 137 - RICON_LOCK_OPEN = 138 - RICON_CLOCK = 139 - RICON_TOOLS = 140 - RICON_GEAR = 141 - RICON_GEAR_BIG = 142 - RICON_BIN = 143 - RICON_HAND_POINTER = 144 - RICON_LASER = 145 - RICON_COIN = 146 - RICON_EXPLOSION = 147 - RICON_1UP = 148 - RICON_PLAYER = 149 - RICON_PLAYER_JUMP = 150 - RICON_KEY = 151 - RICON_DEMON = 152 - RICON_TEXT_POPUP = 153 - RICON_GEAR_EX = 154 - RICON_CRACK = 155 - RICON_CRACK_POINTS = 156 - RICON_STAR = 157 - RICON_DOOR = 158 - RICON_EXIT = 159 - RICON_MODE_2D = 160 - RICON_MODE_3D = 161 - RICON_CUBE = 162 - RICON_CUBE_FACE_TOP = 163 - RICON_CUBE_FACE_LEFT = 164 - RICON_CUBE_FACE_FRONT = 165 - RICON_CUBE_FACE_BOTTOM = 166 - RICON_CUBE_FACE_RIGHT = 167 - RICON_CUBE_FACE_BACK = 168 - RICON_CAMERA = 169 - RICON_SPECIAL = 170 - RICON_LINK_NET = 171 - RICON_LINK_BOXES = 172 - RICON_LINK_MULTI = 173 - RICON_LINK = 174 - RICON_LINK_BROKE = 175 - RICON_TEXT_NOTES = 176 - RICON_NOTEBOOK = 177 - RICON_SUITCASE = 178 - RICON_SUITCASE_ZIP = 179 - RICON_MAILBOX = 180 - RICON_MONITOR = 181 - RICON_PRINTER = 182 - RICON_PHOTO_CAMERA = 183 - RICON_PHOTO_CAMERA_FLASH = 184 - RICON_HOUSE = 185 - RICON_HEART = 186 - RICON_CORNER = 187 - RICON_VERTICAL_BARS = 188 - RICON_VERTICAL_BARS_FILL = 189 - RICON_LIFE_BARS = 190 - RICON_INFO = 191 - RICON_CROSSLINE = 192 - RICON_HELP = 193 - RICON_FILETYPE_ALPHA = 194 - RICON_FILETYPE_HOME = 195 - RICON_LAYERS_VISIBLE = 196 - RICON_LAYERS = 197 - RICON_WINDOW = 198 - RICON_HIDPI = 199 - RICON_200 = 200 - RICON_201 = 201 - RICON_202 = 202 - RICON_203 = 203 - RICON_204 = 204 - RICON_205 = 205 - RICON_206 = 206 - RICON_207 = 207 - RICON_208 = 208 - RICON_209 = 209 - RICON_210 = 210 - RICON_211 = 211 - RICON_212 = 212 - RICON_213 = 213 - RICON_214 = 214 - RICON_215 = 215 - RICON_216 = 216 - RICON_217 = 217 - RICON_218 = 218 - RICON_219 = 219 - RICON_220 = 220 - RICON_221 = 221 - RICON_222 = 222 - RICON_223 = 223 - RICON_224 = 224 - RICON_225 = 225 - RICON_226 = 226 - RICON_227 = 227 - RICON_228 = 228 - RICON_229 = 229 - RICON_230 = 230 - RICON_231 = 231 - RICON_232 = 232 - RICON_233 = 233 - RICON_234 = 234 - RICON_235 = 235 - RICON_236 = 236 - RICON_237 = 237 - RICON_238 = 238 - RICON_239 = 239 - RICON_240 = 240 - RICON_241 = 241 - RICON_242 = 242 - RICON_243 = 243 - RICON_244 = 244 - RICON_245 = 245 - RICON_246 = 246 - RICON_247 = 247 - RICON_248 = 248 - RICON_249 = 249 - RICON_250 = 250 - RICON_251 = 251 - RICON_252 = 252 - RICON_253 = 253 - RICON_254 = 254 - RICON_255 = 255 +class GuiIconName(IntEnum): + ICON_NONE = 0 + ICON_FOLDER_FILE_OPEN = 1 + ICON_FILE_SAVE_CLASSIC = 2 + ICON_FOLDER_OPEN = 3 + ICON_FOLDER_SAVE = 4 + ICON_FILE_OPEN = 5 + ICON_FILE_SAVE = 6 + ICON_FILE_EXPORT = 7 + ICON_FILE_ADD = 8 + ICON_FILE_DELETE = 9 + ICON_FILETYPE_TEXT = 10 + ICON_FILETYPE_AUDIO = 11 + ICON_FILETYPE_IMAGE = 12 + ICON_FILETYPE_PLAY = 13 + ICON_FILETYPE_VIDEO = 14 + ICON_FILETYPE_INFO = 15 + ICON_FILE_COPY = 16 + ICON_FILE_CUT = 17 + ICON_FILE_PASTE = 18 + ICON_CURSOR_HAND = 19 + ICON_CURSOR_POINTER = 20 + ICON_CURSOR_CLASSIC = 21 + ICON_PENCIL = 22 + ICON_PENCIL_BIG = 23 + ICON_BRUSH_CLASSIC = 24 + ICON_BRUSH_PAINTER = 25 + ICON_WATER_DROP = 26 + ICON_COLOR_PICKER = 27 + ICON_RUBBER = 28 + ICON_COLOR_BUCKET = 29 + ICON_TEXT_T = 30 + ICON_TEXT_A = 31 + ICON_SCALE = 32 + ICON_RESIZE = 33 + ICON_FILTER_POINT = 34 + ICON_FILTER_BILINEAR = 35 + ICON_CROP = 36 + ICON_CROP_ALPHA = 37 + ICON_SQUARE_TOGGLE = 38 + ICON_SYMMETRY = 39 + ICON_SYMMETRY_HORIZONTAL = 40 + ICON_SYMMETRY_VERTICAL = 41 + ICON_LENS = 42 + ICON_LENS_BIG = 43 + ICON_EYE_ON = 44 + ICON_EYE_OFF = 45 + ICON_FILTER_TOP = 46 + ICON_FILTER = 47 + ICON_TARGET_POINT = 48 + ICON_TARGET_SMALL = 49 + ICON_TARGET_BIG = 50 + ICON_TARGET_MOVE = 51 + ICON_CURSOR_MOVE = 52 + ICON_CURSOR_SCALE = 53 + ICON_CURSOR_SCALE_RIGHT = 54 + ICON_CURSOR_SCALE_LEFT = 55 + ICON_UNDO = 56 + ICON_REDO = 57 + ICON_REREDO = 58 + ICON_MUTATE = 59 + ICON_ROTATE = 60 + ICON_REPEAT = 61 + ICON_SHUFFLE = 62 + ICON_EMPTYBOX = 63 + ICON_TARGET = 64 + ICON_TARGET_SMALL_FILL = 65 + ICON_TARGET_BIG_FILL = 66 + ICON_TARGET_MOVE_FILL = 67 + ICON_CURSOR_MOVE_FILL = 68 + ICON_CURSOR_SCALE_FILL = 69 + ICON_CURSOR_SCALE_RIGHT_FILL = 70 + ICON_CURSOR_SCALE_LEFT_FILL = 71 + ICON_UNDO_FILL = 72 + ICON_REDO_FILL = 73 + ICON_REREDO_FILL = 74 + ICON_MUTATE_FILL = 75 + ICON_ROTATE_FILL = 76 + ICON_REPEAT_FILL = 77 + ICON_SHUFFLE_FILL = 78 + ICON_EMPTYBOX_SMALL = 79 + ICON_BOX = 80 + ICON_BOX_TOP = 81 + ICON_BOX_TOP_RIGHT = 82 + ICON_BOX_RIGHT = 83 + ICON_BOX_BOTTOM_RIGHT = 84 + ICON_BOX_BOTTOM = 85 + ICON_BOX_BOTTOM_LEFT = 86 + ICON_BOX_LEFT = 87 + ICON_BOX_TOP_LEFT = 88 + ICON_BOX_CENTER = 89 + ICON_BOX_CIRCLE_MASK = 90 + ICON_POT = 91 + ICON_ALPHA_MULTIPLY = 92 + ICON_ALPHA_CLEAR = 93 + ICON_DITHERING = 94 + ICON_MIPMAPS = 95 + ICON_BOX_GRID = 96 + ICON_GRID = 97 + ICON_BOX_CORNERS_SMALL = 98 + ICON_BOX_CORNERS_BIG = 99 + ICON_FOUR_BOXES = 100 + ICON_GRID_FILL = 101 + ICON_BOX_MULTISIZE = 102 + ICON_ZOOM_SMALL = 103 + ICON_ZOOM_MEDIUM = 104 + ICON_ZOOM_BIG = 105 + ICON_ZOOM_ALL = 106 + ICON_ZOOM_CENTER = 107 + ICON_BOX_DOTS_SMALL = 108 + ICON_BOX_DOTS_BIG = 109 + ICON_BOX_CONCENTRIC = 110 + ICON_BOX_GRID_BIG = 111 + ICON_OK_TICK = 112 + ICON_CROSS = 113 + ICON_ARROW_LEFT = 114 + ICON_ARROW_RIGHT = 115 + ICON_ARROW_DOWN = 116 + ICON_ARROW_UP = 117 + ICON_ARROW_LEFT_FILL = 118 + ICON_ARROW_RIGHT_FILL = 119 + ICON_ARROW_DOWN_FILL = 120 + ICON_ARROW_UP_FILL = 121 + ICON_AUDIO = 122 + ICON_FX = 123 + ICON_WAVE = 124 + ICON_WAVE_SINUS = 125 + ICON_WAVE_SQUARE = 126 + ICON_WAVE_TRIANGULAR = 127 + ICON_CROSS_SMALL = 128 + ICON_PLAYER_PREVIOUS = 129 + ICON_PLAYER_PLAY_BACK = 130 + ICON_PLAYER_PLAY = 131 + ICON_PLAYER_PAUSE = 132 + ICON_PLAYER_STOP = 133 + ICON_PLAYER_NEXT = 134 + ICON_PLAYER_RECORD = 135 + ICON_MAGNET = 136 + ICON_LOCK_CLOSE = 137 + ICON_LOCK_OPEN = 138 + ICON_CLOCK = 139 + ICON_TOOLS = 140 + ICON_GEAR = 141 + ICON_GEAR_BIG = 142 + ICON_BIN = 143 + ICON_HAND_POINTER = 144 + ICON_LASER = 145 + ICON_COIN = 146 + ICON_EXPLOSION = 147 + ICON_1UP = 148 + ICON_PLAYER = 149 + ICON_PLAYER_JUMP = 150 + ICON_KEY = 151 + ICON_DEMON = 152 + ICON_TEXT_POPUP = 153 + ICON_GEAR_EX = 154 + ICON_CRACK = 155 + ICON_CRACK_POINTS = 156 + ICON_STAR = 157 + ICON_DOOR = 158 + ICON_EXIT = 159 + ICON_MODE_2D = 160 + ICON_MODE_3D = 161 + ICON_CUBE = 162 + ICON_CUBE_FACE_TOP = 163 + ICON_CUBE_FACE_LEFT = 164 + ICON_CUBE_FACE_FRONT = 165 + ICON_CUBE_FACE_BOTTOM = 166 + ICON_CUBE_FACE_RIGHT = 167 + ICON_CUBE_FACE_BACK = 168 + ICON_CAMERA = 169 + ICON_SPECIAL = 170 + ICON_LINK_NET = 171 + ICON_LINK_BOXES = 172 + ICON_LINK_MULTI = 173 + ICON_LINK = 174 + ICON_LINK_BROKE = 175 + ICON_TEXT_NOTES = 176 + ICON_NOTEBOOK = 177 + ICON_SUITCASE = 178 + ICON_SUITCASE_ZIP = 179 + ICON_MAILBOX = 180 + ICON_MONITOR = 181 + ICON_PRINTER = 182 + ICON_PHOTO_CAMERA = 183 + ICON_PHOTO_CAMERA_FLASH = 184 + ICON_HOUSE = 185 + ICON_HEART = 186 + ICON_CORNER = 187 + ICON_VERTICAL_BARS = 188 + ICON_VERTICAL_BARS_FILL = 189 + ICON_LIFE_BARS = 190 + ICON_INFO = 191 + ICON_CROSSLINE = 192 + ICON_HELP = 193 + ICON_FILETYPE_ALPHA = 194 + ICON_FILETYPE_HOME = 195 + ICON_LAYERS_VISIBLE = 196 + ICON_LAYERS = 197 + ICON_WINDOW = 198 + ICON_HIDPI = 199 + ICON_FILETYPE_BINARY = 200 + ICON_HEX = 201 + ICON_SHIELD = 202 + ICON_FILE_NEW = 203 + ICON_FOLDER_ADD = 204 + ICON_ALARM = 205 + ICON_206 = 206 + ICON_207 = 207 + ICON_208 = 208 + ICON_209 = 209 + ICON_210 = 210 + ICON_211 = 211 + ICON_212 = 212 + ICON_213 = 213 + ICON_214 = 214 + ICON_215 = 215 + ICON_216 = 216 + ICON_217 = 217 + ICON_218 = 218 + ICON_219 = 219 + ICON_220 = 220 + ICON_221 = 221 + ICON_222 = 222 + ICON_223 = 223 + ICON_224 = 224 + ICON_225 = 225 + ICON_226 = 226 + ICON_227 = 227 + ICON_228 = 228 + ICON_229 = 229 + ICON_230 = 230 + ICON_231 = 231 + ICON_232 = 232 + ICON_233 = 233 + ICON_234 = 234 + ICON_235 = 235 + ICON_236 = 236 + ICON_237 = 237 + ICON_238 = 238 + ICON_239 = 239 + ICON_240 = 240 + ICON_241 = 241 + ICON_242 = 242 + ICON_243 = 243 + ICON_244 = 244 + ICON_245 = 245 + ICON_246 = 246 + ICON_247 = 247 + ICON_248 = 248 + ICON_249 = 249 + ICON_250 = 250 + ICON_251 = 251 + ICON_252 = 252 + ICON_253 = 253 + ICON_254 = 254 + ICON_255 = 255 diff --git a/raygui b/raygui new file mode 160000 index 0000000..38236a5 --- /dev/null +++ b/raygui @@ -0,0 +1 @@ +Subproject commit 38236a5513c8ceb112b6d2e944c6993d37eb5cae diff --git a/raylib-c b/raylib-c index db16833..96292bc 160000 --- a/raylib-c +++ b/raylib-c @@ -1 +1 @@ -Subproject commit db16833d8cb8a252aeb1807fcbb8a600e2ab5900 +Subproject commit 96292bc859fa0149e419f414122693a38b2f0761 diff --git a/raylib/__init__.pyi b/raylib/__init__.pyi index 72b44d7..04d0ea4 100644 --- a/raylib/__init__.pyi +++ b/raylib/__init__.pyi @@ -6,6 +6,9 @@ class struct: ... ARROWS_SIZE: int ARROWS_VISIBLE: int ARROW_PADDING: int +def AttachAudioStreamProcessor(stream: AudioStream,processor: Any,) -> None: + """""" + ... BACKGROUND_COLOR: int BASE_COLOR_DISABLED: int BASE_COLOR_FOCUSED: int @@ -14,7 +17,7 @@ BASE_COLOR_PRESSED: int BLEND_ADDITIVE: int BLEND_ADD_COLORS: int BLEND_ALPHA: int -BLEND_ALPHA_PREMUL: int +BLEND_ALPHA_PREMULTIPLY: int BLEND_CUSTOM: int BLEND_MULTIPLIED: int BLEND_SUBTRACT_COLORS: int @@ -58,11 +61,9 @@ CAMERA_THIRD_PERSON: int CHECKBOX: int CHECK_PADDING: int COLORPICKER: int -COLOR_SELECTED_BG: int -COLOR_SELECTED_FG: int COLOR_SELECTOR_SIZE: int COMBOBOX: int -COMBO_BUTTON_PADDING: int +COMBO_BUTTON_SPACING: int COMBO_BUTTON_WIDTH: int CUBEMAP_LAYOUT_AUTO_DETECT: int CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE: int @@ -109,12 +110,6 @@ def CheckCollisionSpheres(center1: Vector3,radius1: float,center2: Vector3,radiu def ClearBackground(color: Color,) -> None: """Set background color (framebuffer clear color)""" ... -def ClearDirectoryFiles() -> None: - """Clear directory files paths buffers (free memory)""" - ... -def ClearDroppedFiles() -> None: - """Clear dropped files paths buffer (free memory)""" - ... def ClearWindowState(flags: int,) -> None: """Clear window configuration state flags""" ... @@ -153,8 +148,8 @@ def ColorToHSV(color: Color,) -> Vector3: def ColorToInt(color: Color,) -> int: """Get hexadecimal value for a Color""" ... -def CompressData(data: str,dataLength: int,compDataLength: Any,) -> str: - """Compress data (DEFLATE algorithm)""" +def CompressData(data: str,dataSize: int,compDataSize: Any,) -> str: + """Compress data (DEFLATE algorithm), memory must be MemFree()""" ... def CreatePhysicsBodyCircle(Vector2_0: Vector2,float_1: float,float_2: float,) -> Any: """struct PhysicsBodyData *CreatePhysicsBodyCircle(struct Vector2, float, float); @@ -173,24 +168,30 @@ CFFI C function from raylib._raylib_cffi.lib""" ... DEFAULT: int DROPDOWNBOX: int -DROPDOWN_ITEMS_PADDING: int -def DecodeDataBase64(data: str,outputLength: Any,) -> str: - """Decode Base64 string data""" +DROPDOWN_ITEMS_SPACING: int +def DecodeDataBase64(data: str,outputSize: Any,) -> str: + """Decode Base64 string data, memory must be MemFree()""" ... -def DecompressData(compData: str,compDataLength: int,dataLength: Any,) -> str: - """Decompress data (DEFLATE algorithm)""" +def DecompressData(compData: str,compDataSize: int,dataSize: Any,) -> str: + """Decompress data (DEFLATE algorithm), memory must be MemFree()""" ... def DestroyPhysicsBody(PhysicsBodyData_pointer_0: Any,) -> None: """void DestroyPhysicsBody(struct PhysicsBodyData *); CFFI C function from raylib._raylib_cffi.lib""" ... +def DetachAudioStreamProcessor(stream: AudioStream,processor: Any,) -> None: + """""" + ... def DirectoryExists(dirPath: str,) -> bool: """Check if a directory path exists""" ... def DisableCursor() -> None: """Disables cursor (lock cursor)""" ... +def DisableEventWaiting() -> None: + """Disable waiting for events on EndDrawing(), automatic events polling""" + ... def DrawBillboard(camera: Camera3D,texture: Texture,position: Vector3,size: float,tint: Color,) -> None: """Draw a billboard texture""" ... @@ -443,8 +444,11 @@ def DrawTriangleStrip3D(points: Any,pointCount: int,color: Color,) -> None: def EnableCursor() -> None: """Enables cursor (unlock cursor)""" ... -def EncodeDataBase64(data: str,dataLength: int,outputLength: Any,) -> str: - """Encode data to Base64 string""" +def EnableEventWaiting() -> None: + """Enable waiting for events on EndDrawing(), no automatic event polling""" + ... +def EncodeDataBase64(data: str,dataSize: int,outputSize: Any,) -> str: + """Encode data to Base64 string, memory must be MemFree()""" ... def EndBlendMode() -> None: """End blending mode (reset to default: alpha blending)""" @@ -470,6 +474,9 @@ def EndTextureMode() -> None: def EndVrStereoMode() -> None: """End stereo rendering (requires VR simulator)""" ... +def ExportDataAsCode(data: str,size: int,fileName: str,) -> bool: + """Export data to code (.h), returns true on success""" + ... def ExportFontAsCode(font: Font,fileName: str,) -> bool: """Export font as code file, returns true on success""" ... @@ -497,6 +504,7 @@ FLAG_WINDOW_HIDDEN: int FLAG_WINDOW_HIGHDPI: int FLAG_WINDOW_MAXIMIZED: int FLAG_WINDOW_MINIMIZED: int +FLAG_WINDOW_MOUSE_PASSTHROUGH: int FLAG_WINDOW_RESIZABLE: int FLAG_WINDOW_TOPMOST: int FLAG_WINDOW_TRANSPARENT: int @@ -547,13 +555,6 @@ GESTURE_SWIPE_RIGHT: int GESTURE_SWIPE_UP: int GESTURE_TAP: int GROUP_PADDING: int -GUI_STATE_DISABLED: int -GUI_STATE_FOCUSED: int -GUI_STATE_NORMAL: int -GUI_STATE_PRESSED: int -GUI_TEXT_ALIGN_CENTER: int -GUI_TEXT_ALIGN_LEFT: int -GUI_TEXT_ALIGN_RIGHT: int def GenImageCellular(width: int,height: int,tileSize: int,) -> Image: """Generate image: cellular algorithm, bigger tileSize means bigger cells""" ... @@ -650,15 +651,9 @@ def GetColor(hexValue: int,) -> Color: def GetCurrentMonitor() -> int: """Get current connected monitor""" ... -def GetDirectoryFiles(dirPath: str,count: Any,) -> str: - """Get filenames in a directory path (memory should be freed)""" - ... def GetDirectoryPath(filePath: str,) -> str: """Get full path for a given fileName with path (uses static string)""" ... -def GetDroppedFiles(count: Any,) -> str: - """Get dropped files names (memory should be freed)""" - ... def GetFPS() -> int: """Get current FPS""" ... @@ -741,7 +736,7 @@ def GetMonitorCount() -> int: """Get number of connected monitors""" ... def GetMonitorHeight(monitor: int,) -> int: - """Get specified monitor height (max available by monitor)""" + """Get specified monitor height (current video mode used by monitor)""" ... def GetMonitorName(monitor: int,) -> str: """Get the human-readable, UTF-8 encoded name of the primary monitor""" @@ -759,7 +754,7 @@ def GetMonitorRefreshRate(monitor: int,) -> int: """Get specified monitor refresh rate""" ... def GetMonitorWidth(monitor: int,) -> int: - """Get specified monitor width (max available by monitor)""" + """Get specified monitor width (current video mode used by monitor)""" ... def GetMouseDelta() -> Vector2: """Get mouse delta between frames""" @@ -828,9 +823,6 @@ def GetRayCollisionBox(ray: Ray,box: BoundingBox,) -> RayCollision: def GetRayCollisionMesh(ray: Ray,mesh: Mesh,transform: Matrix,) -> RayCollision: """Get collision info between ray and mesh""" ... -def GetRayCollisionModel(ray: Ray,model: Model,) -> RayCollision: - """Get collision info between ray and model""" - ... def GetRayCollisionQuad(ray: Ray,p1: Vector3,p2: Vector3,p3: Vector3,p4: Vector3,) -> RayCollision: """Get collision info between ray and quad""" ... @@ -923,23 +915,23 @@ def GuiClearIconPixel(int_0: int,int_1: int,int_2: int,) -> None: CFFI C function from raylib._raylib_cffi.lib""" ... -def GuiColorBarAlpha(Rectangle_0: Rectangle,float_1: float,) -> float: - """float GuiColorBarAlpha(struct Rectangle, float); +def GuiColorBarAlpha(Rectangle_0: Rectangle,str_1: str,float_2: float,) -> float: + """float GuiColorBarAlpha(struct Rectangle, char *, float); CFFI C function from raylib._raylib_cffi.lib""" ... -def GuiColorBarHue(Rectangle_0: Rectangle,float_1: float,) -> float: - """float GuiColorBarHue(struct Rectangle, float); +def GuiColorBarHue(Rectangle_0: Rectangle,str_1: str,float_2: float,) -> float: + """float GuiColorBarHue(struct Rectangle, char *, float); CFFI C function from raylib._raylib_cffi.lib""" ... -def GuiColorPanel(Rectangle_0: Rectangle,Color_1: Color,) -> Color: - """struct Color GuiColorPanel(struct Rectangle, struct Color); +def GuiColorPanel(Rectangle_0: Rectangle,str_1: str,Color_2: Color,) -> Color: + """struct Color GuiColorPanel(struct Rectangle, char *, struct Color); CFFI C function from raylib._raylib_cffi.lib""" ... -def GuiColorPicker(Rectangle_0: Rectangle,Color_1: Color,) -> Color: - """struct Color GuiColorPicker(struct Rectangle, struct Color); +def GuiColorPicker(Rectangle_0: Rectangle,str_1: str,Color_2: Color,) -> Color: + """struct Color GuiColorPicker(struct Rectangle, char *, struct Color); CFFI C function from raylib._raylib_cffi.lib""" ... @@ -1003,8 +995,8 @@ def GuiGetStyle(int_0: int,int_1: int,) -> int: CFFI C function from raylib._raylib_cffi.lib""" ... -def GuiGrid(Rectangle_0: Rectangle,float_1: float,int_2: int,) -> Vector2: - """struct Vector2 GuiGrid(struct Rectangle, float, int); +def GuiGrid(Rectangle_0: Rectangle,str_1: str,float_2: float,int_3: int,) -> Vector2: + """struct Vector2 GuiGrid(struct Rectangle, char *, float, int); CFFI C function from raylib._raylib_cffi.lib""" ... @@ -1068,8 +1060,8 @@ def GuiMessageBox(Rectangle_0: Rectangle,str_1: str,str_2: str,str_3: str,) -> i CFFI C function from raylib._raylib_cffi.lib""" ... -def GuiPanel(Rectangle_0: Rectangle,) -> None: - """void GuiPanel(struct Rectangle); +def GuiPanel(Rectangle_0: Rectangle,str_1: str,) -> None: + """void GuiPanel(struct Rectangle, char *); CFFI C function from raylib._raylib_cffi.lib""" ... @@ -1078,13 +1070,8 @@ def GuiProgressBar(Rectangle_0: Rectangle,str_1: str,str_2: str,float_3: float,f CFFI C function from raylib._raylib_cffi.lib""" ... -def GuiScrollBar(Rectangle_0: Rectangle,int_1: int,int_2: int,int_3: int,) -> int: - """int GuiScrollBar(struct Rectangle, int, int, int); - -CFFI C function from raylib._raylib_cffi.lib""" - ... -def GuiScrollPanel(Rectangle_0: Rectangle,Rectangle_1: Rectangle,Vector2_pointer_2: Any,) -> Rectangle: - """struct Rectangle GuiScrollPanel(struct Rectangle, struct Rectangle, struct Vector2 *); +def GuiScrollPanel(Rectangle_0: Rectangle,str_1: str,Rectangle_2: Rectangle,Vector2_pointer_3: Any,) -> Rectangle: + """struct Rectangle GuiScrollPanel(struct Rectangle, char *, struct Rectangle, struct Vector2 *); CFFI C function from raylib._raylib_cffi.lib""" ... @@ -1101,6 +1088,11 @@ CFFI C function from raylib._raylib_cffi.lib""" def GuiSetIconPixel(int_0: int,int_1: int,int_2: int,) -> None: """void GuiSetIconPixel(int, int, int); +CFFI C function from raylib._raylib_cffi.lib""" + ... +def GuiSetIconScale(unsignedint_0: int,) -> None: + """void GuiSetIconScale(unsigned int); + CFFI C function from raylib._raylib_cffi.lib""" ... def GuiSetState(int_0: int,) -> None: @@ -1143,8 +1135,8 @@ def GuiTextBoxMulti(Rectangle_0: Rectangle,str_1: str,int_2: int,_Bool_3: bool,) CFFI C function from raylib._raylib_cffi.lib""" ... -def GuiTextInputBox(Rectangle_0: Rectangle,str_1: str,str_2: str,str_3: str,str_4: str,) -> int: - """int GuiTextInputBox(struct Rectangle, char *, char *, char *, char *); +def GuiTextInputBox(Rectangle_0: Rectangle,str_1: str,str_2: str,str_3: str,str_4: str,int_5: int,int_pointer_6: Any,) -> int: + """int GuiTextInputBox(struct Rectangle, char *, char *, char *, char *, int, int *); CFFI C function from raylib._raylib_cffi.lib""" ... @@ -1180,6 +1172,262 @@ HUEBAR_WIDTH: int def HideCursor() -> None: """Hides cursor""" ... +ICON_1UP: int +ICON_206: int +ICON_207: int +ICON_208: int +ICON_209: int +ICON_210: int +ICON_211: int +ICON_212: int +ICON_213: int +ICON_214: int +ICON_215: int +ICON_216: int +ICON_217: int +ICON_218: int +ICON_219: int +ICON_220: int +ICON_221: int +ICON_222: int +ICON_223: int +ICON_224: int +ICON_225: int +ICON_226: int +ICON_227: int +ICON_228: int +ICON_229: int +ICON_230: int +ICON_231: int +ICON_232: int +ICON_233: int +ICON_234: int +ICON_235: int +ICON_236: int +ICON_237: int +ICON_238: int +ICON_239: int +ICON_240: int +ICON_241: int +ICON_242: int +ICON_243: int +ICON_244: int +ICON_245: int +ICON_246: int +ICON_247: int +ICON_248: int +ICON_249: int +ICON_250: int +ICON_251: int +ICON_252: int +ICON_253: int +ICON_254: int +ICON_255: int +ICON_ALARM: int +ICON_ALPHA_CLEAR: int +ICON_ALPHA_MULTIPLY: int +ICON_ARROW_DOWN: int +ICON_ARROW_DOWN_FILL: int +ICON_ARROW_LEFT: int +ICON_ARROW_LEFT_FILL: int +ICON_ARROW_RIGHT: int +ICON_ARROW_RIGHT_FILL: int +ICON_ARROW_UP: int +ICON_ARROW_UP_FILL: int +ICON_AUDIO: int +ICON_BIN: int +ICON_BOX: int +ICON_BOX_BOTTOM: int +ICON_BOX_BOTTOM_LEFT: int +ICON_BOX_BOTTOM_RIGHT: int +ICON_BOX_CENTER: int +ICON_BOX_CIRCLE_MASK: int +ICON_BOX_CONCENTRIC: int +ICON_BOX_CORNERS_BIG: int +ICON_BOX_CORNERS_SMALL: int +ICON_BOX_DOTS_BIG: int +ICON_BOX_DOTS_SMALL: int +ICON_BOX_GRID: int +ICON_BOX_GRID_BIG: int +ICON_BOX_LEFT: int +ICON_BOX_MULTISIZE: int +ICON_BOX_RIGHT: int +ICON_BOX_TOP: int +ICON_BOX_TOP_LEFT: int +ICON_BOX_TOP_RIGHT: int +ICON_BRUSH_CLASSIC: int +ICON_BRUSH_PAINTER: int +ICON_CAMERA: int +ICON_CLOCK: int +ICON_COIN: int +ICON_COLOR_BUCKET: int +ICON_COLOR_PICKER: int +ICON_CORNER: int +ICON_CRACK: int +ICON_CRACK_POINTS: int +ICON_CROP: int +ICON_CROP_ALPHA: int +ICON_CROSS: int +ICON_CROSSLINE: int +ICON_CROSS_SMALL: int +ICON_CUBE: int +ICON_CUBE_FACE_BACK: int +ICON_CUBE_FACE_BOTTOM: int +ICON_CUBE_FACE_FRONT: int +ICON_CUBE_FACE_LEFT: int +ICON_CUBE_FACE_RIGHT: int +ICON_CUBE_FACE_TOP: int +ICON_CURSOR_CLASSIC: int +ICON_CURSOR_HAND: int +ICON_CURSOR_MOVE: int +ICON_CURSOR_MOVE_FILL: int +ICON_CURSOR_POINTER: int +ICON_CURSOR_SCALE: int +ICON_CURSOR_SCALE_FILL: int +ICON_CURSOR_SCALE_LEFT: int +ICON_CURSOR_SCALE_LEFT_FILL: int +ICON_CURSOR_SCALE_RIGHT: int +ICON_CURSOR_SCALE_RIGHT_FILL: int +ICON_DEMON: int +ICON_DITHERING: int +ICON_DOOR: int +ICON_EMPTYBOX: int +ICON_EMPTYBOX_SMALL: int +ICON_EXIT: int +ICON_EXPLOSION: int +ICON_EYE_OFF: int +ICON_EYE_ON: int +ICON_FILETYPE_ALPHA: int +ICON_FILETYPE_AUDIO: int +ICON_FILETYPE_BINARY: int +ICON_FILETYPE_HOME: int +ICON_FILETYPE_IMAGE: int +ICON_FILETYPE_INFO: int +ICON_FILETYPE_PLAY: int +ICON_FILETYPE_TEXT: int +ICON_FILETYPE_VIDEO: int +ICON_FILE_ADD: int +ICON_FILE_COPY: int +ICON_FILE_CUT: int +ICON_FILE_DELETE: int +ICON_FILE_EXPORT: int +ICON_FILE_NEW: int +ICON_FILE_OPEN: int +ICON_FILE_PASTE: int +ICON_FILE_SAVE: int +ICON_FILE_SAVE_CLASSIC: int +ICON_FILTER: int +ICON_FILTER_BILINEAR: int +ICON_FILTER_POINT: int +ICON_FILTER_TOP: int +ICON_FOLDER_ADD: int +ICON_FOLDER_FILE_OPEN: int +ICON_FOLDER_OPEN: int +ICON_FOLDER_SAVE: int +ICON_FOUR_BOXES: int +ICON_FX: int +ICON_GEAR: int +ICON_GEAR_BIG: int +ICON_GEAR_EX: int +ICON_GRID: int +ICON_GRID_FILL: int +ICON_HAND_POINTER: int +ICON_HEART: int +ICON_HELP: int +ICON_HEX: int +ICON_HIDPI: int +ICON_HOUSE: int +ICON_INFO: int +ICON_KEY: int +ICON_LASER: int +ICON_LAYERS: int +ICON_LAYERS_VISIBLE: int +ICON_LENS: int +ICON_LENS_BIG: int +ICON_LIFE_BARS: int +ICON_LINK: int +ICON_LINK_BOXES: int +ICON_LINK_BROKE: int +ICON_LINK_MULTI: int +ICON_LINK_NET: int +ICON_LOCK_CLOSE: int +ICON_LOCK_OPEN: int +ICON_MAGNET: int +ICON_MAILBOX: int +ICON_MIPMAPS: int +ICON_MODE_2D: int +ICON_MODE_3D: int +ICON_MONITOR: int +ICON_MUTATE: int +ICON_MUTATE_FILL: int +ICON_NONE: int +ICON_NOTEBOOK: int +ICON_OK_TICK: int +ICON_PENCIL: int +ICON_PENCIL_BIG: int +ICON_PHOTO_CAMERA: int +ICON_PHOTO_CAMERA_FLASH: int +ICON_PLAYER: int +ICON_PLAYER_JUMP: int +ICON_PLAYER_NEXT: int +ICON_PLAYER_PAUSE: int +ICON_PLAYER_PLAY: int +ICON_PLAYER_PLAY_BACK: int +ICON_PLAYER_PREVIOUS: int +ICON_PLAYER_RECORD: int +ICON_PLAYER_STOP: int +ICON_POT: int +ICON_PRINTER: int +ICON_REDO: int +ICON_REDO_FILL: int +ICON_REPEAT: int +ICON_REPEAT_FILL: int +ICON_REREDO: int +ICON_REREDO_FILL: int +ICON_RESIZE: int +ICON_ROTATE: int +ICON_ROTATE_FILL: int +ICON_RUBBER: int +ICON_SCALE: int +ICON_SHIELD: int +ICON_SHUFFLE: int +ICON_SHUFFLE_FILL: int +ICON_SPECIAL: int +ICON_SQUARE_TOGGLE: int +ICON_STAR: int +ICON_SUITCASE: int +ICON_SUITCASE_ZIP: int +ICON_SYMMETRY: int +ICON_SYMMETRY_HORIZONTAL: int +ICON_SYMMETRY_VERTICAL: int +ICON_TARGET: int +ICON_TARGET_BIG: int +ICON_TARGET_BIG_FILL: int +ICON_TARGET_MOVE: int +ICON_TARGET_MOVE_FILL: int +ICON_TARGET_POINT: int +ICON_TARGET_SMALL: int +ICON_TARGET_SMALL_FILL: int +ICON_TEXT_A: int +ICON_TEXT_NOTES: int +ICON_TEXT_POPUP: int +ICON_TEXT_T: int +ICON_TOOLS: int +ICON_UNDO: int +ICON_UNDO_FILL: int +ICON_VERTICAL_BARS: int +ICON_VERTICAL_BARS_FILL: int +ICON_WATER_DROP: int +ICON_WAVE: int +ICON_WAVE_SINUS: int +ICON_WAVE_SQUARE: int +ICON_WAVE_TRIANGULAR: int +ICON_WINDOW: int +ICON_ZOOM_ALL: int +ICON_ZOOM_BIG: int +ICON_ZOOM_CENTER: int +ICON_ZOOM_MEDIUM: int +ICON_ZOOM_SMALL: int def ImageAlphaClear(image: Any,color: Color,threshold: float,) -> None: """Clear alpha channel to desired color""" ... @@ -1380,6 +1628,9 @@ def IsMouseButtonUp(button: int,) -> bool: def IsMusicStreamPlaying(music: Music,) -> bool: """Check if music is playing""" ... +def IsPathFile(path: str,) -> bool: + """Check if a given path is a file or a directory""" + ... def IsSoundPlaying(sound: Sound,) -> bool: """Check if a sound is currently playing""" ... @@ -1521,7 +1772,7 @@ LABEL: int LINE_COLOR: int LISTVIEW: int LIST_ITEMS_HEIGHT: int -LIST_ITEMS_PADDING: int +LIST_ITEMS_SPACING: int LOG_ALL: int LOG_DEBUG: int LOG_ERROR: int @@ -1536,6 +1787,15 @@ def LoadAudioStream(sampleRate: int,sampleSize: int,channels: int,) -> AudioStre def LoadCodepoints(text: str,count: Any,) -> Any: """Load all codepoints from a UTF-8 text string, codepoints count returned by parameter""" ... +def LoadDirectoryFiles(dirPath: str,) -> FilePathList: + """Load directory filepaths""" + ... +def LoadDirectoryFilesEx(basePath: str,filter: str,scanSubdirs: bool,) -> FilePathList: + """Load directory filepaths with extension filtering and recursive directory scan""" + ... +def LoadDroppedFiles() -> FilePathList: + """Load dropped filepaths""" + ... def LoadFileData(fileName: str,bytesRead: Any,) -> str: """Load file data as byte array (read)""" ... @@ -1788,7 +2048,7 @@ RL_ATTACHMENT_TEXTURE2D: int RL_BLEND_ADDITIVE: int RL_BLEND_ADD_COLORS: int RL_BLEND_ALPHA: int -RL_BLEND_ALPHA_PREMUL: int +RL_BLEND_ALPHA_PREMULTIPLY: int RL_BLEND_CUSTOM: int RL_BLEND_MULTIPLIED: int RL_BLEND_SUBTRACT_COLORS: int @@ -1884,8 +2144,6 @@ def ResumeSound(sound: Sound,) -> None: """Resume a paused sound""" ... SCROLLBAR: int -SCROLLBAR_LEFT_SIDE: int -SCROLLBAR_RIGHT_SIDE: int SCROLLBAR_SIDE: int SCROLLBAR_WIDTH: int SCROLL_PADDING: int @@ -1935,8 +2193,12 @@ SLIDER: int SLIDER_PADDING: int SLIDER_WIDTH: int SPINNER: int -SPIN_BUTTON_PADDING: int +SPIN_BUTTON_SPACING: int SPIN_BUTTON_WIDTH: int +STATE_DISABLED: int +STATE_FOCUSED: int +STATE_NORMAL: int +STATE_PRESSED: int STATUSBAR: int def SaveFileData(fileName: str,data: Any,bytesToWrite: int,) -> bool: """Save data to file from byte array (write), returns true on success""" @@ -1953,6 +2215,9 @@ def SeekMusicStream(music: Music,position: float,) -> None: def SetAudioStreamBufferSizeDefault(size: int,) -> None: """Default size for new audio streams""" ... +def SetAudioStreamCallback(stream: AudioStream,callback: Any,) -> None: + """Audio thread callback to request new data""" + ... def SetAudioStreamPan(stream: AudioStream,pan: float,) -> None: """Set pan for audio stream (0.5 is centered)""" ... @@ -2148,12 +2413,15 @@ TEXTURE_WRAP_MIRROR_CLAMP: int TEXTURE_WRAP_MIRROR_REPEAT: int TEXTURE_WRAP_REPEAT: int TEXT_ALIGNMENT: int +TEXT_ALIGN_CENTER: int +TEXT_ALIGN_LEFT: int +TEXT_ALIGN_RIGHT: int TEXT_COLOR_DISABLED: int TEXT_COLOR_FOCUSED: int TEXT_COLOR_NORMAL: int TEXT_COLOR_PRESSED: int TEXT_INNER_PADDING: int -TEXT_LINES_PADDING: int +TEXT_LINES_SPACING: int TEXT_PADDING: int TEXT_SIZE: int TEXT_SPACING: int @@ -2221,6 +2489,12 @@ def UnloadAudioStream(stream: AudioStream,) -> None: def UnloadCodepoints(codepoints: Any,) -> None: """Unload codepoints data from memory""" ... +def UnloadDirectoryFiles(files: FilePathList,) -> None: + """Unload filepaths""" + ... +def UnloadDroppedFiles(files: FilePathList,) -> None: + """Unload dropped filepaths""" + ... def UnloadFileData(data: str,) -> None: """Unload file data allocated by LoadFileData()""" ... @@ -2317,8 +2591,8 @@ def UploadMesh(mesh: Any,dynamic: bool,) -> None: """Upload mesh vertex data in GPU and provide VAO/VBO ids""" ... VALUEBOX: int -def WaitTime(ms: float,) -> None: - """Wait for some milliseconds (halt program execution)""" +def WaitTime(seconds: float,) -> None: + """Wait for some time (halt program execution)""" ... def WaveCopy(wave: Wave,) -> Wave: """Copy a wave to a new wave""" @@ -2860,6 +3134,16 @@ CFFI C function from raylib._raylib_cffi.lib""" def rlSetBlendMode(int_0: int,) -> None: """void rlSetBlendMode(int); +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlSetFramebufferHeight(int_0: int,) -> None: + """void rlSetFramebufferHeight(int); + +CFFI C function from raylib._raylib_cffi.lib""" + ... +def rlSetFramebufferWidth(int_0: int,) -> None: + """void rlSetFramebufferWidth(int); + CFFI C function from raylib._raylib_cffi.lib""" ... def rlSetLineWidth(float_0: float,) -> None: @@ -3044,6 +3328,7 @@ CameraProjection: int Color: struct ConfigFlags: int CubemapLayout: int +FilePathList: struct Font: struct FontType: int GamepadAxis: int @@ -3055,15 +3340,15 @@ GuiColorPickerProperty: int GuiComboBoxProperty: int GuiControl: int GuiControlProperty: int -GuiControlState: int GuiDefaultProperty: int GuiDropdownBoxProperty: int +GuiIconName: int GuiListViewProperty: int GuiProgressBarProperty: int GuiScrollBarProperty: int -GuiScrollBarSide: int GuiSliderProperty: int GuiSpinnerProperty: int +GuiState: int GuiStyleProp: struct GuiTextAlignment: int GuiTextBoxProperty: int @@ -3114,6 +3399,7 @@ VrDeviceInfo: struct VrStereoConfig: struct Wave: struct rAudioBuffer: struct +rAudioProcessor: struct rlBlendMode: int rlDrawCall: struct rlFramebufferAttachTextureType: int diff --git a/raylib/enums.py b/raylib/enums.py index 59de35d..1e34cea 100644 --- a/raylib/enums.py +++ b/raylib/enums.py @@ -13,6 +13,7 @@ class ConfigFlags(IntEnum): FLAG_WINDOW_ALWAYS_RUN = 256 FLAG_WINDOW_TRANSPARENT = 16 FLAG_WINDOW_HIGHDPI = 8192 + FLAG_WINDOW_MOUSE_PASSTHROUGH = 16384 FLAG_MSAA_4X_HINT = 32 FLAG_INTERLACED_HINT = 65536 @@ -302,7 +303,7 @@ class BlendMode(IntEnum): BLEND_MULTIPLIED = 2 BLEND_ADD_COLORS = 3 BLEND_SUBTRACT_COLORS = 4 - BLEND_ALPHA_PREMUL = 5 + BLEND_ALPHA_PREMULTIPLY = 5 BLEND_CUSTOM = 6 class Gesture(IntEnum): @@ -334,16 +335,16 @@ class NPatchLayout(IntEnum): NPATCH_THREE_PATCH_VERTICAL = 1 NPATCH_THREE_PATCH_HORIZONTAL = 2 -class GuiControlState(IntEnum): - GUI_STATE_NORMAL = 0 - GUI_STATE_FOCUSED = 1 - GUI_STATE_PRESSED = 2 - GUI_STATE_DISABLED = 3 +class GuiState(IntEnum): + STATE_NORMAL = 0 + STATE_FOCUSED = 1 + STATE_PRESSED = 2 + STATE_DISABLED = 3 class GuiTextAlignment(IntEnum): - GUI_TEXT_ALIGN_LEFT = 0 - GUI_TEXT_ALIGN_CENTER = 1 - GUI_TEXT_ALIGN_RIGHT = 2 + TEXT_ALIGN_LEFT = 0 + TEXT_ALIGN_CENTER = 1 + TEXT_ALIGN_RIGHT = 2 class GuiControl(IntEnum): DEFAULT = 0 @@ -397,27 +398,6 @@ class GuiSliderProperty(IntEnum): class GuiProgressBarProperty(IntEnum): PROGRESS_PADDING = 16 -class GuiCheckBoxProperty(IntEnum): - CHECK_PADDING = 16 - -class GuiComboBoxProperty(IntEnum): - COMBO_BUTTON_WIDTH = 16 - COMBO_BUTTON_PADDING = 17 - -class GuiDropdownBoxProperty(IntEnum): - ARROW_PADDING = 16 - DROPDOWN_ITEMS_PADDING = 17 - -class GuiTextBoxProperty(IntEnum): - TEXT_INNER_PADDING = 16 - TEXT_LINES_PADDING = 17 - COLOR_SELECTED_FG = 18 - COLOR_SELECTED_BG = 19 - -class GuiSpinnerProperty(IntEnum): - SPIN_BUTTON_WIDTH = 16 - SPIN_BUTTON_PADDING = 17 - class GuiScrollBarProperty(IntEnum): ARROWS_SIZE = 16 ARROWS_VISIBLE = 17 @@ -426,13 +406,28 @@ class GuiScrollBarProperty(IntEnum): SCROLL_PADDING = 20 SCROLL_SPEED = 21 -class GuiScrollBarSide(IntEnum): - SCROLLBAR_LEFT_SIDE = 0 - SCROLLBAR_RIGHT_SIDE = 1 +class GuiCheckBoxProperty(IntEnum): + CHECK_PADDING = 16 + +class GuiComboBoxProperty(IntEnum): + COMBO_BUTTON_WIDTH = 16 + COMBO_BUTTON_SPACING = 17 + +class GuiDropdownBoxProperty(IntEnum): + ARROW_PADDING = 16 + DROPDOWN_ITEMS_SPACING = 17 + +class GuiTextBoxProperty(IntEnum): + TEXT_INNER_PADDING = 16 + TEXT_LINES_SPACING = 17 + +class GuiSpinnerProperty(IntEnum): + SPIN_BUTTON_WIDTH = 16 + SPIN_BUTTON_SPACING = 17 class GuiListViewProperty(IntEnum): LIST_ITEMS_HEIGHT = 16 - LIST_ITEMS_PADDING = 17 + LIST_ITEMS_SPACING = 17 SCROLLBAR_WIDTH = 18 SCROLLBAR_SIDE = 19 @@ -443,261 +438,261 @@ class GuiColorPickerProperty(IntEnum): HUEBAR_SELECTOR_HEIGHT = 19 HUEBAR_SELECTOR_OVERFLOW = 20 -class guiIconName(IntEnum): - RICON_NONE = 0 - RICON_FOLDER_FILE_OPEN = 1 - RICON_FILE_SAVE_CLASSIC = 2 - RICON_FOLDER_OPEN = 3 - RICON_FOLDER_SAVE = 4 - RICON_FILE_OPEN = 5 - RICON_FILE_SAVE = 6 - RICON_FILE_EXPORT = 7 - RICON_FILE_NEW = 8 - RICON_FILE_DELETE = 9 - RICON_FILETYPE_TEXT = 10 - RICON_FILETYPE_AUDIO = 11 - RICON_FILETYPE_IMAGE = 12 - RICON_FILETYPE_PLAY = 13 - RICON_FILETYPE_VIDEO = 14 - RICON_FILETYPE_INFO = 15 - RICON_FILE_COPY = 16 - RICON_FILE_CUT = 17 - RICON_FILE_PASTE = 18 - RICON_CURSOR_HAND = 19 - RICON_CURSOR_POINTER = 20 - RICON_CURSOR_CLASSIC = 21 - RICON_PENCIL = 22 - RICON_PENCIL_BIG = 23 - RICON_BRUSH_CLASSIC = 24 - RICON_BRUSH_PAINTER = 25 - RICON_WATER_DROP = 26 - RICON_COLOR_PICKER = 27 - RICON_RUBBER = 28 - RICON_COLOR_BUCKET = 29 - RICON_TEXT_T = 30 - RICON_TEXT_A = 31 - RICON_SCALE = 32 - RICON_RESIZE = 33 - RICON_FILTER_POINT = 34 - RICON_FILTER_BILINEAR = 35 - RICON_CROP = 36 - RICON_CROP_ALPHA = 37 - RICON_SQUARE_TOGGLE = 38 - RICON_SYMMETRY = 39 - RICON_SYMMETRY_HORIZONTAL = 40 - RICON_SYMMETRY_VERTICAL = 41 - RICON_LENS = 42 - RICON_LENS_BIG = 43 - RICON_EYE_ON = 44 - RICON_EYE_OFF = 45 - RICON_FILTER_TOP = 46 - RICON_FILTER = 47 - RICON_TARGET_POINT = 48 - RICON_TARGET_SMALL = 49 - RICON_TARGET_BIG = 50 - RICON_TARGET_MOVE = 51 - RICON_CURSOR_MOVE = 52 - RICON_CURSOR_SCALE = 53 - RICON_CURSOR_SCALE_RIGHT = 54 - RICON_CURSOR_SCALE_LEFT = 55 - RICON_UNDO = 56 - RICON_REDO = 57 - RICON_REREDO = 58 - RICON_MUTATE = 59 - RICON_ROTATE = 60 - RICON_REPEAT = 61 - RICON_SHUFFLE = 62 - RICON_EMPTYBOX = 63 - RICON_TARGET = 64 - RICON_TARGET_SMALL_FILL = 65 - RICON_TARGET_BIG_FILL = 66 - RICON_TARGET_MOVE_FILL = 67 - RICON_CURSOR_MOVE_FILL = 68 - RICON_CURSOR_SCALE_FILL = 69 - RICON_CURSOR_SCALE_RIGHT_FILL = 70 - RICON_CURSOR_SCALE_LEFT_FILL = 71 - RICON_UNDO_FILL = 72 - RICON_REDO_FILL = 73 - RICON_REREDO_FILL = 74 - RICON_MUTATE_FILL = 75 - RICON_ROTATE_FILL = 76 - RICON_REPEAT_FILL = 77 - RICON_SHUFFLE_FILL = 78 - RICON_EMPTYBOX_SMALL = 79 - RICON_BOX = 80 - RICON_BOX_TOP = 81 - RICON_BOX_TOP_RIGHT = 82 - RICON_BOX_RIGHT = 83 - RICON_BOX_BOTTOM_RIGHT = 84 - RICON_BOX_BOTTOM = 85 - RICON_BOX_BOTTOM_LEFT = 86 - RICON_BOX_LEFT = 87 - RICON_BOX_TOP_LEFT = 88 - RICON_BOX_CENTER = 89 - RICON_BOX_CIRCLE_MASK = 90 - RICON_POT = 91 - RICON_ALPHA_MULTIPLY = 92 - RICON_ALPHA_CLEAR = 93 - RICON_DITHERING = 94 - RICON_MIPMAPS = 95 - RICON_BOX_GRID = 96 - RICON_GRID = 97 - RICON_BOX_CORNERS_SMALL = 98 - RICON_BOX_CORNERS_BIG = 99 - RICON_FOUR_BOXES = 100 - RICON_GRID_FILL = 101 - RICON_BOX_MULTISIZE = 102 - RICON_ZOOM_SMALL = 103 - RICON_ZOOM_MEDIUM = 104 - RICON_ZOOM_BIG = 105 - RICON_ZOOM_ALL = 106 - RICON_ZOOM_CENTER = 107 - RICON_BOX_DOTS_SMALL = 108 - RICON_BOX_DOTS_BIG = 109 - RICON_BOX_CONCENTRIC = 110 - RICON_BOX_GRID_BIG = 111 - RICON_OK_TICK = 112 - RICON_CROSS = 113 - RICON_ARROW_LEFT = 114 - RICON_ARROW_RIGHT = 115 - RICON_ARROW_DOWN = 116 - RICON_ARROW_UP = 117 - RICON_ARROW_LEFT_FILL = 118 - RICON_ARROW_RIGHT_FILL = 119 - RICON_ARROW_DOWN_FILL = 120 - RICON_ARROW_UP_FILL = 121 - RICON_AUDIO = 122 - RICON_FX = 123 - RICON_WAVE = 124 - RICON_WAVE_SINUS = 125 - RICON_WAVE_SQUARE = 126 - RICON_WAVE_TRIANGULAR = 127 - RICON_CROSS_SMALL = 128 - RICON_PLAYER_PREVIOUS = 129 - RICON_PLAYER_PLAY_BACK = 130 - RICON_PLAYER_PLAY = 131 - RICON_PLAYER_PAUSE = 132 - RICON_PLAYER_STOP = 133 - RICON_PLAYER_NEXT = 134 - RICON_PLAYER_RECORD = 135 - RICON_MAGNET = 136 - RICON_LOCK_CLOSE = 137 - RICON_LOCK_OPEN = 138 - RICON_CLOCK = 139 - RICON_TOOLS = 140 - RICON_GEAR = 141 - RICON_GEAR_BIG = 142 - RICON_BIN = 143 - RICON_HAND_POINTER = 144 - RICON_LASER = 145 - RICON_COIN = 146 - RICON_EXPLOSION = 147 - RICON_1UP = 148 - RICON_PLAYER = 149 - RICON_PLAYER_JUMP = 150 - RICON_KEY = 151 - RICON_DEMON = 152 - RICON_TEXT_POPUP = 153 - RICON_GEAR_EX = 154 - RICON_CRACK = 155 - RICON_CRACK_POINTS = 156 - RICON_STAR = 157 - RICON_DOOR = 158 - RICON_EXIT = 159 - RICON_MODE_2D = 160 - RICON_MODE_3D = 161 - RICON_CUBE = 162 - RICON_CUBE_FACE_TOP = 163 - RICON_CUBE_FACE_LEFT = 164 - RICON_CUBE_FACE_FRONT = 165 - RICON_CUBE_FACE_BOTTOM = 166 - RICON_CUBE_FACE_RIGHT = 167 - RICON_CUBE_FACE_BACK = 168 - RICON_CAMERA = 169 - RICON_SPECIAL = 170 - RICON_LINK_NET = 171 - RICON_LINK_BOXES = 172 - RICON_LINK_MULTI = 173 - RICON_LINK = 174 - RICON_LINK_BROKE = 175 - RICON_TEXT_NOTES = 176 - RICON_NOTEBOOK = 177 - RICON_SUITCASE = 178 - RICON_SUITCASE_ZIP = 179 - RICON_MAILBOX = 180 - RICON_MONITOR = 181 - RICON_PRINTER = 182 - RICON_PHOTO_CAMERA = 183 - RICON_PHOTO_CAMERA_FLASH = 184 - RICON_HOUSE = 185 - RICON_HEART = 186 - RICON_CORNER = 187 - RICON_VERTICAL_BARS = 188 - RICON_VERTICAL_BARS_FILL = 189 - RICON_LIFE_BARS = 190 - RICON_INFO = 191 - RICON_CROSSLINE = 192 - RICON_HELP = 193 - RICON_FILETYPE_ALPHA = 194 - RICON_FILETYPE_HOME = 195 - RICON_LAYERS_VISIBLE = 196 - RICON_LAYERS = 197 - RICON_WINDOW = 198 - RICON_HIDPI = 199 - RICON_200 = 200 - RICON_201 = 201 - RICON_202 = 202 - RICON_203 = 203 - RICON_204 = 204 - RICON_205 = 205 - RICON_206 = 206 - RICON_207 = 207 - RICON_208 = 208 - RICON_209 = 209 - RICON_210 = 210 - RICON_211 = 211 - RICON_212 = 212 - RICON_213 = 213 - RICON_214 = 214 - RICON_215 = 215 - RICON_216 = 216 - RICON_217 = 217 - RICON_218 = 218 - RICON_219 = 219 - RICON_220 = 220 - RICON_221 = 221 - RICON_222 = 222 - RICON_223 = 223 - RICON_224 = 224 - RICON_225 = 225 - RICON_226 = 226 - RICON_227 = 227 - RICON_228 = 228 - RICON_229 = 229 - RICON_230 = 230 - RICON_231 = 231 - RICON_232 = 232 - RICON_233 = 233 - RICON_234 = 234 - RICON_235 = 235 - RICON_236 = 236 - RICON_237 = 237 - RICON_238 = 238 - RICON_239 = 239 - RICON_240 = 240 - RICON_241 = 241 - RICON_242 = 242 - RICON_243 = 243 - RICON_244 = 244 - RICON_245 = 245 - RICON_246 = 246 - RICON_247 = 247 - RICON_248 = 248 - RICON_249 = 249 - RICON_250 = 250 - RICON_251 = 251 - RICON_252 = 252 - RICON_253 = 253 - RICON_254 = 254 - RICON_255 = 255 +class GuiIconName(IntEnum): + ICON_NONE = 0 + ICON_FOLDER_FILE_OPEN = 1 + ICON_FILE_SAVE_CLASSIC = 2 + ICON_FOLDER_OPEN = 3 + ICON_FOLDER_SAVE = 4 + ICON_FILE_OPEN = 5 + ICON_FILE_SAVE = 6 + ICON_FILE_EXPORT = 7 + ICON_FILE_ADD = 8 + ICON_FILE_DELETE = 9 + ICON_FILETYPE_TEXT = 10 + ICON_FILETYPE_AUDIO = 11 + ICON_FILETYPE_IMAGE = 12 + ICON_FILETYPE_PLAY = 13 + ICON_FILETYPE_VIDEO = 14 + ICON_FILETYPE_INFO = 15 + ICON_FILE_COPY = 16 + ICON_FILE_CUT = 17 + ICON_FILE_PASTE = 18 + ICON_CURSOR_HAND = 19 + ICON_CURSOR_POINTER = 20 + ICON_CURSOR_CLASSIC = 21 + ICON_PENCIL = 22 + ICON_PENCIL_BIG = 23 + ICON_BRUSH_CLASSIC = 24 + ICON_BRUSH_PAINTER = 25 + ICON_WATER_DROP = 26 + ICON_COLOR_PICKER = 27 + ICON_RUBBER = 28 + ICON_COLOR_BUCKET = 29 + ICON_TEXT_T = 30 + ICON_TEXT_A = 31 + ICON_SCALE = 32 + ICON_RESIZE = 33 + ICON_FILTER_POINT = 34 + ICON_FILTER_BILINEAR = 35 + ICON_CROP = 36 + ICON_CROP_ALPHA = 37 + ICON_SQUARE_TOGGLE = 38 + ICON_SYMMETRY = 39 + ICON_SYMMETRY_HORIZONTAL = 40 + ICON_SYMMETRY_VERTICAL = 41 + ICON_LENS = 42 + ICON_LENS_BIG = 43 + ICON_EYE_ON = 44 + ICON_EYE_OFF = 45 + ICON_FILTER_TOP = 46 + ICON_FILTER = 47 + ICON_TARGET_POINT = 48 + ICON_TARGET_SMALL = 49 + ICON_TARGET_BIG = 50 + ICON_TARGET_MOVE = 51 + ICON_CURSOR_MOVE = 52 + ICON_CURSOR_SCALE = 53 + ICON_CURSOR_SCALE_RIGHT = 54 + ICON_CURSOR_SCALE_LEFT = 55 + ICON_UNDO = 56 + ICON_REDO = 57 + ICON_REREDO = 58 + ICON_MUTATE = 59 + ICON_ROTATE = 60 + ICON_REPEAT = 61 + ICON_SHUFFLE = 62 + ICON_EMPTYBOX = 63 + ICON_TARGET = 64 + ICON_TARGET_SMALL_FILL = 65 + ICON_TARGET_BIG_FILL = 66 + ICON_TARGET_MOVE_FILL = 67 + ICON_CURSOR_MOVE_FILL = 68 + ICON_CURSOR_SCALE_FILL = 69 + ICON_CURSOR_SCALE_RIGHT_FILL = 70 + ICON_CURSOR_SCALE_LEFT_FILL = 71 + ICON_UNDO_FILL = 72 + ICON_REDO_FILL = 73 + ICON_REREDO_FILL = 74 + ICON_MUTATE_FILL = 75 + ICON_ROTATE_FILL = 76 + ICON_REPEAT_FILL = 77 + ICON_SHUFFLE_FILL = 78 + ICON_EMPTYBOX_SMALL = 79 + ICON_BOX = 80 + ICON_BOX_TOP = 81 + ICON_BOX_TOP_RIGHT = 82 + ICON_BOX_RIGHT = 83 + ICON_BOX_BOTTOM_RIGHT = 84 + ICON_BOX_BOTTOM = 85 + ICON_BOX_BOTTOM_LEFT = 86 + ICON_BOX_LEFT = 87 + ICON_BOX_TOP_LEFT = 88 + ICON_BOX_CENTER = 89 + ICON_BOX_CIRCLE_MASK = 90 + ICON_POT = 91 + ICON_ALPHA_MULTIPLY = 92 + ICON_ALPHA_CLEAR = 93 + ICON_DITHERING = 94 + ICON_MIPMAPS = 95 + ICON_BOX_GRID = 96 + ICON_GRID = 97 + ICON_BOX_CORNERS_SMALL = 98 + ICON_BOX_CORNERS_BIG = 99 + ICON_FOUR_BOXES = 100 + ICON_GRID_FILL = 101 + ICON_BOX_MULTISIZE = 102 + ICON_ZOOM_SMALL = 103 + ICON_ZOOM_MEDIUM = 104 + ICON_ZOOM_BIG = 105 + ICON_ZOOM_ALL = 106 + ICON_ZOOM_CENTER = 107 + ICON_BOX_DOTS_SMALL = 108 + ICON_BOX_DOTS_BIG = 109 + ICON_BOX_CONCENTRIC = 110 + ICON_BOX_GRID_BIG = 111 + ICON_OK_TICK = 112 + ICON_CROSS = 113 + ICON_ARROW_LEFT = 114 + ICON_ARROW_RIGHT = 115 + ICON_ARROW_DOWN = 116 + ICON_ARROW_UP = 117 + ICON_ARROW_LEFT_FILL = 118 + ICON_ARROW_RIGHT_FILL = 119 + ICON_ARROW_DOWN_FILL = 120 + ICON_ARROW_UP_FILL = 121 + ICON_AUDIO = 122 + ICON_FX = 123 + ICON_WAVE = 124 + ICON_WAVE_SINUS = 125 + ICON_WAVE_SQUARE = 126 + ICON_WAVE_TRIANGULAR = 127 + ICON_CROSS_SMALL = 128 + ICON_PLAYER_PREVIOUS = 129 + ICON_PLAYER_PLAY_BACK = 130 + ICON_PLAYER_PLAY = 131 + ICON_PLAYER_PAUSE = 132 + ICON_PLAYER_STOP = 133 + ICON_PLAYER_NEXT = 134 + ICON_PLAYER_RECORD = 135 + ICON_MAGNET = 136 + ICON_LOCK_CLOSE = 137 + ICON_LOCK_OPEN = 138 + ICON_CLOCK = 139 + ICON_TOOLS = 140 + ICON_GEAR = 141 + ICON_GEAR_BIG = 142 + ICON_BIN = 143 + ICON_HAND_POINTER = 144 + ICON_LASER = 145 + ICON_COIN = 146 + ICON_EXPLOSION = 147 + ICON_1UP = 148 + ICON_PLAYER = 149 + ICON_PLAYER_JUMP = 150 + ICON_KEY = 151 + ICON_DEMON = 152 + ICON_TEXT_POPUP = 153 + ICON_GEAR_EX = 154 + ICON_CRACK = 155 + ICON_CRACK_POINTS = 156 + ICON_STAR = 157 + ICON_DOOR = 158 + ICON_EXIT = 159 + ICON_MODE_2D = 160 + ICON_MODE_3D = 161 + ICON_CUBE = 162 + ICON_CUBE_FACE_TOP = 163 + ICON_CUBE_FACE_LEFT = 164 + ICON_CUBE_FACE_FRONT = 165 + ICON_CUBE_FACE_BOTTOM = 166 + ICON_CUBE_FACE_RIGHT = 167 + ICON_CUBE_FACE_BACK = 168 + ICON_CAMERA = 169 + ICON_SPECIAL = 170 + ICON_LINK_NET = 171 + ICON_LINK_BOXES = 172 + ICON_LINK_MULTI = 173 + ICON_LINK = 174 + ICON_LINK_BROKE = 175 + ICON_TEXT_NOTES = 176 + ICON_NOTEBOOK = 177 + ICON_SUITCASE = 178 + ICON_SUITCASE_ZIP = 179 + ICON_MAILBOX = 180 + ICON_MONITOR = 181 + ICON_PRINTER = 182 + ICON_PHOTO_CAMERA = 183 + ICON_PHOTO_CAMERA_FLASH = 184 + ICON_HOUSE = 185 + ICON_HEART = 186 + ICON_CORNER = 187 + ICON_VERTICAL_BARS = 188 + ICON_VERTICAL_BARS_FILL = 189 + ICON_LIFE_BARS = 190 + ICON_INFO = 191 + ICON_CROSSLINE = 192 + ICON_HELP = 193 + ICON_FILETYPE_ALPHA = 194 + ICON_FILETYPE_HOME = 195 + ICON_LAYERS_VISIBLE = 196 + ICON_LAYERS = 197 + ICON_WINDOW = 198 + ICON_HIDPI = 199 + ICON_FILETYPE_BINARY = 200 + ICON_HEX = 201 + ICON_SHIELD = 202 + ICON_FILE_NEW = 203 + ICON_FOLDER_ADD = 204 + ICON_ALARM = 205 + ICON_206 = 206 + ICON_207 = 207 + ICON_208 = 208 + ICON_209 = 209 + ICON_210 = 210 + ICON_211 = 211 + ICON_212 = 212 + ICON_213 = 213 + ICON_214 = 214 + ICON_215 = 215 + ICON_216 = 216 + ICON_217 = 217 + ICON_218 = 218 + ICON_219 = 219 + ICON_220 = 220 + ICON_221 = 221 + ICON_222 = 222 + ICON_223 = 223 + ICON_224 = 224 + ICON_225 = 225 + ICON_226 = 226 + ICON_227 = 227 + ICON_228 = 228 + ICON_229 = 229 + ICON_230 = 230 + ICON_231 = 231 + ICON_232 = 232 + ICON_233 = 233 + ICON_234 = 234 + ICON_235 = 235 + ICON_236 = 236 + ICON_237 = 237 + ICON_238 = 238 + ICON_239 = 239 + ICON_240 = 240 + ICON_241 = 241 + ICON_242 = 242 + ICON_243 = 243 + ICON_244 = 244 + ICON_245 = 245 + ICON_246 = 246 + ICON_247 = 247 + ICON_248 = 248 + ICON_249 = 249 + ICON_250 = 250 + ICON_251 = 251 + ICON_252 = 252 + ICON_253 = 253 + ICON_254 = 254 + ICON_255 = 255 diff --git a/raylib/physac.h.modified b/raylib/physac.h.modified index cf35c17..fa35497 100644 --- a/raylib/physac.h.modified +++ b/raylib/physac.h.modified @@ -5,7 +5,7 @@ * DESCRIPTION: * * Physac is a small 2D physics engine written in pure C. The engine uses a fixed time-step thread loop -* to simluate physics. A physics step contains the following phases: get collision information, +* to simulate physics. A physics step contains the following phases: get collision information, * apply dynamics, collision solving and position correction. It uses a very simple struct for physic * bodies with a position vector to be used in any 3D rendering API. * @@ -50,7 +50,7 @@ * * LICENSE: zlib/libpng * -* Copyright (c) 2016-2021 Victor Fisac (@victorfisac) and Ramon Santamaria (@raysan5) +* Copyright (c) 2016-2022 Victor Fisac (@victorfisac) and Ramon Santamaria (@raysan5) * * This software is provided "as-is", without any express or implied warranty. In no event * will the authors be held liable for any damages arising from the use of this software. @@ -68,6 +68,8 @@ * 3. This notice may not be removed or altered from any source distribution. * **********************************************************************************************/ +// Function specifiers in case library is build/used as a shared library (Windows) +// NOTE: Microsoft specifiers to tell compiler that symbols are imported/exported from a .dll // Allow custom memory allocators //---------------------------------------------------------------------------------- // Defines and Macros diff --git a/raylib/raygui.h.modified b/raylib/raygui.h.modified index 387324f..e4b54be 100644 --- a/raylib/raygui.h.modified +++ b/raylib/raygui.h.modified @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raygui v3.0 - A simple and easy-to-use immediate-mode gui library +* raygui v3.2 - A simple and easy-to-use immediate-mode gui library * * DESCRIPTION: * @@ -10,10 +10,11 @@ * Controls provided: * * # Container/separators Controls -* - WindowBox -* - GroupBox +* - WindowBox --> StatusBar, Panel +* - GroupBox --> Line * - Line -* - Panel +* - Panel --> StatusBar +* - ScrollPanel --> StatusBar * * # Basic Controls * - Label @@ -32,8 +33,6 @@ * - SliderBar --> Slider * - ProgressBar * - StatusBar -* - ScrollBar -* - ScrollPanel * - DummyRec * - Grid * @@ -46,7 +45,7 @@ * It also provides a set of functions for styling the controls based on its properties (size, color). * * -* GUI STYLE (guiStyle): +* RAYGUI STYLE (guiStyle): * * raygui uses a global data array for all gui style properties (allocated on data segment by default), * when a new style is loaded, it is loaded over the global style... but a default gui style could always be @@ -71,11 +70,11 @@ * TOOL: rGuiStyler is a visual tool to customize raygui style. * * -* GUI ICONS (guiIcons): +* RAYGUI ICONS (guiIcons): * * raygui could use a global array containing icons data (allocated on data segment by default), * a custom icons set could be loaded over this array using GuiLoadIcons(), but loaded icons set -* must be same RICON_SIZE and no more than RICON_MAX_ICONS will be loaded +* must be same RAYGUI_ICON_SIZE and no more than RAYGUI_ICON_MAX_ICONS will be loaded * * Every icon is codified in binary form, using 1 bit per pixel, so, every 16x16 icon * requires 8 integers (16*16/32) to be stored in memory. @@ -84,7 +83,7 @@ * * The global icons array size is fixed and depends on the number of icons and size: * -* static unsigned int guiIcons[RICON_MAX_ICONS*RICON_DATA_ELEMENTS]; +* static unsigned int guiIcons[RAYGUI_ICON_MAX_ICONS*RAYGUI_ICON_DATA_ELEMENTS]; * * guiIcons size is by default: 256*(16*16/32) = 2048*4 = 8192 bytes = 8 KB * @@ -103,17 +102,32 @@ * internally in the library and input management and drawing functions must be provided by * the user (check library implementation for further details). * -* #define RAYGUI_NO_RICONS +* #define RAYGUI_NO_ICONS * Avoid including embedded ricons data (256 icons, 16x16 pixels, 1-bit per pixel, 2KB) * -* #define RAYGUI_CUSTOM_RICONS +* #define RAYGUI_CUSTOM_ICONS * Includes custom ricons.h header defining a set of custom icons, * this file can be generated using rGuiIcons tool * * * VERSIONS HISTORY: -* -* 3.0 (xx-Sep-2021) Integrated ricons data to avoid external file +* 3.2 (22-May-2022) RENAMED: Some enum values, for unification, avoiding prefixes +* REMOVED: GuiScrollBar(), only internal +* REDESIGNED: GuiPanel() to support text parameter +* REDESIGNED: GuiScrollPanel() to support text parameter +* REDESIGNED: GuiColorPicker() to support text parameter +* REDESIGNED: GuiColorPanel() to support text parameter +* REDESIGNED: GuiColorBarAlpha() to support text parameter +* REDESIGNED: GuiColorBarHue() to support text parameter +* REDESIGNED: GuiTextInputBox() to support password +* 3.1 (12-Jan-2022) REVIEWED: Default style for consistency (aligned with rGuiLayout v2.5 tool) +* REVIEWED: GuiLoadStyle() to support compressed font atlas image data and unload previous textures +* REVIEWED: External icons usage logic +* REVIEWED: GuiLine() for centered alignment when including text +* RENAMED: Multiple controls properties definitions to prepend RAYGUI_ +* RENAMED: RICON_ references to RAYGUI_ICON_ for library consistency +* Projects updated and multiple tweaks +* 3.0 (04-Nov-2021) Integrated ricons data to avoid external file * REDESIGNED: GuiTextBoxMulti() * REMOVED: GuiImageButton*() * Multiple minor tweaks and bugs corrected @@ -160,7 +174,7 @@ * * LICENSE: zlib/libpng * -* Copyright (c) 2014-2021 Ramon Santamaria (@raysan5) +* Copyright (c) 2014-2022 Ramon Santamaria (@raysan5) * * This software is provided "as-is", without any express or implied warranty. In no event * will the authors be held liable for any damages arising from the use of this software. @@ -185,7 +199,8 @@ // Defines and Macros //---------------------------------------------------------------------------------- // Allow custom memory allocators -// TODO: Implement custom TraceLog() +// Simple log system to avoid printf() calls if required +// NOTE: Avoiding those calls, also avoids const strings memory usage //---------------------------------------------------------------------------------- // Types and Structures Definition // NOTE: Some types are required for RAYGUI_STANDALONE usage @@ -194,24 +209,26 @@ typedef struct GuiStyleProp { unsigned short controlId; unsigned short propertyId; - int propertyValue; + unsigned int propertyValue; } GuiStyleProp; // Gui control state typedef enum { - GUI_STATE_NORMAL = 0, - GUI_STATE_FOCUSED, - GUI_STATE_PRESSED, - GUI_STATE_DISABLED, -} GuiControlState; + STATE_NORMAL = 0, + STATE_FOCUSED, + STATE_PRESSED, + STATE_DISABLED, +} GuiState; // Gui control text alignment typedef enum { - GUI_TEXT_ALIGN_LEFT = 0, - GUI_TEXT_ALIGN_CENTER, - GUI_TEXT_ALIGN_RIGHT, + TEXT_ALIGN_LEFT = 0, + TEXT_ALIGN_CENTER, + TEXT_ALIGN_RIGHT, } GuiTextAlignment; // Gui controls typedef enum { - DEFAULT = 0, // Generic control -> populates to all controls when set + // Default -> populates to all controls when set + DEFAULT = 0, + // Basic controls LABEL, // Used also for: LABELBUTTON BUTTON, TOGGLE, // Used also for: TOGGLEGROUP @@ -222,7 +239,7 @@ typedef enum { DROPDOWNBOX, TEXTBOX, // Used also for: TEXTBOXMULTI VALUEBOX, - SPINNER, + SPINNER, // Uses: BUTTON, VALUEBOX LISTVIEW, COLORPICKER, SCROLLBAR, @@ -250,85 +267,79 @@ typedef enum { } GuiControlProperty; // Gui extended properties depend on control // NOTE: RAYGUI_MAX_PROPS_EXTENDED properties (by default 8 properties) +//---------------------------------------------------------------------------------- // DEFAULT extended properties -// NOTE: Those properties are actually common to all controls +// NOTE: Those properties are common to all controls or global typedef enum { - TEXT_SIZE = 16, - TEXT_SPACING, - LINE_COLOR, - BACKGROUND_COLOR, + TEXT_SIZE = 16, // Text size (glyphs max height) + TEXT_SPACING, // Text spacing between glyphs + LINE_COLOR, // Line control color + BACKGROUND_COLOR, // Background color } GuiDefaultProperty; // Label //typedef enum { } GuiLabelProperty; -// Button +// Button/Spinner //typedef enum { } GuiButtonProperty; // Toggle/ToggleGroup typedef enum { - GROUP_PADDING = 16, + GROUP_PADDING = 16, // ToggleGroup separation between toggles } GuiToggleProperty; // Slider/SliderBar typedef enum { - SLIDER_WIDTH = 16, - SLIDER_PADDING + SLIDER_WIDTH = 16, // Slider size of internal bar + SLIDER_PADDING // Slider/SliderBar internal bar padding } GuiSliderProperty; // ProgressBar typedef enum { - PROGRESS_PADDING = 16, + PROGRESS_PADDING = 16, // ProgressBar internal padding } GuiProgressBarProperty; -// CheckBox -typedef enum { - CHECK_PADDING = 16 -} GuiCheckBoxProperty; -// ComboBox -typedef enum { - COMBO_BUTTON_WIDTH = 16, - COMBO_BUTTON_PADDING -} GuiComboBoxProperty; -// DropdownBox -typedef enum { - ARROW_PADDING = 16, - DROPDOWN_ITEMS_PADDING -} GuiDropdownBoxProperty; -// TextBox/TextBoxMulti/ValueBox/Spinner -typedef enum { - TEXT_INNER_PADDING = 16, - TEXT_LINES_PADDING, - COLOR_SELECTED_FG, - COLOR_SELECTED_BG -} GuiTextBoxProperty; -// Spinner -typedef enum { - SPIN_BUTTON_WIDTH = 16, - SPIN_BUTTON_PADDING, -} GuiSpinnerProperty; // ScrollBar typedef enum { ARROWS_SIZE = 16, ARROWS_VISIBLE, - SCROLL_SLIDER_PADDING, + SCROLL_SLIDER_PADDING, // (SLIDERBAR, SLIDER_PADDING) SCROLL_SLIDER_SIZE, SCROLL_PADDING, SCROLL_SPEED, } GuiScrollBarProperty; -// ScrollBar side +// CheckBox typedef enum { - SCROLLBAR_LEFT_SIDE = 0, - SCROLLBAR_RIGHT_SIDE -} GuiScrollBarSide; + CHECK_PADDING = 16 // CheckBox internal check padding +} GuiCheckBoxProperty; +// ComboBox +typedef enum { + COMBO_BUTTON_WIDTH = 16, // ComboBox right button width + COMBO_BUTTON_SPACING // ComboBox button separation +} GuiComboBoxProperty; +// DropdownBox +typedef enum { + ARROW_PADDING = 16, // DropdownBox arrow separation from border and items + DROPDOWN_ITEMS_SPACING // DropdownBox items separation +} GuiDropdownBoxProperty; +// TextBox/TextBoxMulti/ValueBox/Spinner +typedef enum { + TEXT_INNER_PADDING = 16, // TextBox/TextBoxMulti/ValueBox/Spinner inner text padding + TEXT_LINES_SPACING, // TextBoxMulti lines separation +} GuiTextBoxProperty; +// Spinner +typedef enum { + SPIN_BUTTON_WIDTH = 16, // Spinner left/right buttons width + SPIN_BUTTON_SPACING, // Spinner buttons separation +} GuiSpinnerProperty; // ListView typedef enum { - LIST_ITEMS_HEIGHT = 16, - LIST_ITEMS_PADDING, - SCROLLBAR_WIDTH, - SCROLLBAR_SIDE, + LIST_ITEMS_HEIGHT = 16, // ListView items height + LIST_ITEMS_SPACING, // ListView items separation + SCROLLBAR_WIDTH, // ListView scrollbar size (usually width) + SCROLLBAR_SIDE, // ListView scrollbar side (0-left, 1-right) } GuiListViewProperty; // ColorPicker typedef enum { COLOR_SELECTOR_SIZE = 16, - HUEBAR_WIDTH, // Right hue bar width - HUEBAR_PADDING, // Right hue bar separation from panel - HUEBAR_SELECTOR_HEIGHT, // Right hue bar selector height - HUEBAR_SELECTOR_OVERFLOW // Right hue bar selector overflow + HUEBAR_WIDTH, // ColorPicker right hue bar width + HUEBAR_PADDING, // ColorPicker right hue bar separation from panel + HUEBAR_SELECTOR_HEIGHT, // ColorPicker right hue bar selector height + HUEBAR_SELECTOR_OVERFLOW // ColorPicker right hue bar selector overflow } GuiColorPickerProperty; //---------------------------------------------------------------------------------- // Global Variables Definition @@ -356,8 +367,8 @@ typedef enum { /* Functions defined as 'extern' by default (implicit specifiers)*/ bool GuiWindowBox(Rectangle bounds, const char *title); // Window Box control, shows a window that can be closed /* Functions defined as 'extern' by default (implicit specifiers)*/ void GuiGroupBox(Rectangle bounds, const char *text); // Group Box control with text name /* Functions defined as 'extern' by default (implicit specifiers)*/ void GuiLine(Rectangle bounds, const char *text); // Line separator control, could contain text -/* Functions defined as 'extern' by default (implicit specifiers)*/ void GuiPanel(Rectangle bounds); // Panel control, useful to group controls -/* Functions defined as 'extern' by default (implicit specifiers)*/ Rectangle GuiScrollPanel(Rectangle bounds, Rectangle content, Vector2 *scroll); // Scroll Panel control +/* Functions defined as 'extern' by default (implicit specifiers)*/ void GuiPanel(Rectangle bounds, const char *text); // Panel control, useful to group controls +/* Functions defined as 'extern' by default (implicit specifiers)*/ Rectangle GuiScrollPanel(Rectangle bounds, const char *text, Rectangle content, Vector2 *scroll); // Scroll Panel control // Basic controls set /* Functions defined as 'extern' by default (implicit specifiers)*/ void GuiLabel(Rectangle bounds, const char *text); // Label control, shows text /* Functions defined as 'extern' by default (implicit specifiers)*/ bool GuiButton(Rectangle bounds, const char *text); // Button control, returns true when clicked @@ -376,34 +387,290 @@ typedef enum { /* Functions defined as 'extern' by default (implicit specifiers)*/ float GuiProgressBar(Rectangle bounds, const char *textLeft, const char *textRight, float value, float minValue, float maxValue); // Progress Bar control, shows current progress value /* Functions defined as 'extern' by default (implicit specifiers)*/ void GuiStatusBar(Rectangle bounds, const char *text); // Status Bar control, shows info text /* Functions defined as 'extern' by default (implicit specifiers)*/ void GuiDummyRec(Rectangle bounds, const char *text); // Dummy control for placeholders -/* Functions defined as 'extern' by default (implicit specifiers)*/ int GuiScrollBar(Rectangle bounds, int value, int minValue, int maxValue); // Scroll Bar control -/* Functions defined as 'extern' by default (implicit specifiers)*/ Vector2 GuiGrid(Rectangle bounds, float spacing, int subdivs); // Grid control +/* Functions defined as 'extern' by default (implicit specifiers)*/ Vector2 GuiGrid(Rectangle bounds, const char *text, float spacing, int subdivs); // Grid control, returns mouse cell position // Advance controls set /* Functions defined as 'extern' by default (implicit specifiers)*/ int GuiListView(Rectangle bounds, const char *text, int *scrollIndex, int active); // List View control, returns selected list item index /* Functions defined as 'extern' by default (implicit specifiers)*/ int GuiListViewEx(Rectangle bounds, const char **text, int count, int *focus, int *scrollIndex, int active); // List View with extended parameters /* Functions defined as 'extern' by default (implicit specifiers)*/ int GuiMessageBox(Rectangle bounds, const char *title, const char *message, const char *buttons); // Message Box control, displays a message -/* Functions defined as 'extern' by default (implicit specifiers)*/ int GuiTextInputBox(Rectangle bounds, const char *title, const char *message, const char *buttons, char *text); // Text Input Box control, ask for text -/* Functions defined as 'extern' by default (implicit specifiers)*/ Color GuiColorPicker(Rectangle bounds, Color color); // Color Picker control (multiple color controls) -/* Functions defined as 'extern' by default (implicit specifiers)*/ Color GuiColorPanel(Rectangle bounds, Color color); // Color Panel control -/* Functions defined as 'extern' by default (implicit specifiers)*/ float GuiColorBarAlpha(Rectangle bounds, float alpha); // Color Bar Alpha control -/* Functions defined as 'extern' by default (implicit specifiers)*/ float GuiColorBarHue(Rectangle bounds, float value); // Color Bar Hue control +/* Functions defined as 'extern' by default (implicit specifiers)*/ int GuiTextInputBox(Rectangle bounds, const char *title, const char *message, const char *buttons, char *text, int textMaxSize, int *secretViewActive); // Text Input Box control, ask for text, supports secret +/* Functions defined as 'extern' by default (implicit specifiers)*/ Color GuiColorPicker(Rectangle bounds, const char *text, Color color); // Color Picker control (multiple color controls) +/* Functions defined as 'extern' by default (implicit specifiers)*/ Color GuiColorPanel(Rectangle bounds, const char *text, Color color); // Color Panel control +/* Functions defined as 'extern' by default (implicit specifiers)*/ float GuiColorBarAlpha(Rectangle bounds, const char *text, float alpha); // Color Bar Alpha control +/* Functions defined as 'extern' by default (implicit specifiers)*/ float GuiColorBarHue(Rectangle bounds, const char *text, float value); // Color Bar Hue control // Styles loading functions /* Functions defined as 'extern' by default (implicit specifiers)*/ void GuiLoadStyle(const char *fileName); // Load style file over global style variable (.rgs) /* Functions defined as 'extern' by default (implicit specifiers)*/ void GuiLoadStyleDefault(void); // Load style default over global style -/* -typedef GuiStyle (unsigned int *) -RAYGUIAPI GuiStyle LoadGuiStyle(const char *fileName); // Load style from file (.rgs) -RAYGUIAPI void UnloadGuiStyle(GuiStyle style); // Unload style -*/ +// Icons functionality /* Functions defined as 'extern' by default (implicit specifiers)*/ const char *GuiIconText(int iconId, const char *text); // Get text with icon id prepended (if supported) -// Gui icons functionality /* Functions defined as 'extern' by default (implicit specifiers)*/ void GuiDrawIcon(int iconId, int posX, int posY, int pixelSize, Color color); /* Functions defined as 'extern' by default (implicit specifiers)*/ unsigned int *GuiGetIcons(void); // Get full icons data pointer /* Functions defined as 'extern' by default (implicit specifiers)*/ unsigned int *GuiGetIconData(int iconId); // Get icon bit data /* Functions defined as 'extern' by default (implicit specifiers)*/ void GuiSetIconData(int iconId, unsigned int *data); // Set icon bit data +/* Functions defined as 'extern' by default (implicit specifiers)*/ void GuiSetIconScale(unsigned int scale); // Set icon scale (1 by default) /* Functions defined as 'extern' by default (implicit specifiers)*/ void GuiSetIconPixel(int iconId, int x, int y); // Set icon pixel value /* Functions defined as 'extern' by default (implicit specifiers)*/ void GuiClearIconPixel(int iconId, int x, int y); // Clear icon pixel value /* Functions defined as 'extern' by default (implicit specifiers)*/ bool GuiCheckIconPixel(int iconId, int x, int y); // Check icon pixel value +//---------------------------------------------------------------------------------- +// Icons enumeration +//---------------------------------------------------------------------------------- +typedef enum { + ICON_NONE = 0, + ICON_FOLDER_FILE_OPEN = 1, + ICON_FILE_SAVE_CLASSIC = 2, + ICON_FOLDER_OPEN = 3, + ICON_FOLDER_SAVE = 4, + ICON_FILE_OPEN = 5, + ICON_FILE_SAVE = 6, + ICON_FILE_EXPORT = 7, + ICON_FILE_ADD = 8, + ICON_FILE_DELETE = 9, + ICON_FILETYPE_TEXT = 10, + ICON_FILETYPE_AUDIO = 11, + ICON_FILETYPE_IMAGE = 12, + ICON_FILETYPE_PLAY = 13, + ICON_FILETYPE_VIDEO = 14, + ICON_FILETYPE_INFO = 15, + ICON_FILE_COPY = 16, + ICON_FILE_CUT = 17, + ICON_FILE_PASTE = 18, + ICON_CURSOR_HAND = 19, + ICON_CURSOR_POINTER = 20, + ICON_CURSOR_CLASSIC = 21, + ICON_PENCIL = 22, + ICON_PENCIL_BIG = 23, + ICON_BRUSH_CLASSIC = 24, + ICON_BRUSH_PAINTER = 25, + ICON_WATER_DROP = 26, + ICON_COLOR_PICKER = 27, + ICON_RUBBER = 28, + ICON_COLOR_BUCKET = 29, + ICON_TEXT_T = 30, + ICON_TEXT_A = 31, + ICON_SCALE = 32, + ICON_RESIZE = 33, + ICON_FILTER_POINT = 34, + ICON_FILTER_BILINEAR = 35, + ICON_CROP = 36, + ICON_CROP_ALPHA = 37, + ICON_SQUARE_TOGGLE = 38, + ICON_SYMMETRY = 39, + ICON_SYMMETRY_HORIZONTAL = 40, + ICON_SYMMETRY_VERTICAL = 41, + ICON_LENS = 42, + ICON_LENS_BIG = 43, + ICON_EYE_ON = 44, + ICON_EYE_OFF = 45, + ICON_FILTER_TOP = 46, + ICON_FILTER = 47, + ICON_TARGET_POINT = 48, + ICON_TARGET_SMALL = 49, + ICON_TARGET_BIG = 50, + ICON_TARGET_MOVE = 51, + ICON_CURSOR_MOVE = 52, + ICON_CURSOR_SCALE = 53, + ICON_CURSOR_SCALE_RIGHT = 54, + ICON_CURSOR_SCALE_LEFT = 55, + ICON_UNDO = 56, + ICON_REDO = 57, + ICON_REREDO = 58, + ICON_MUTATE = 59, + ICON_ROTATE = 60, + ICON_REPEAT = 61, + ICON_SHUFFLE = 62, + ICON_EMPTYBOX = 63, + ICON_TARGET = 64, + ICON_TARGET_SMALL_FILL = 65, + ICON_TARGET_BIG_FILL = 66, + ICON_TARGET_MOVE_FILL = 67, + ICON_CURSOR_MOVE_FILL = 68, + ICON_CURSOR_SCALE_FILL = 69, + ICON_CURSOR_SCALE_RIGHT_FILL = 70, + ICON_CURSOR_SCALE_LEFT_FILL = 71, + ICON_UNDO_FILL = 72, + ICON_REDO_FILL = 73, + ICON_REREDO_FILL = 74, + ICON_MUTATE_FILL = 75, + ICON_ROTATE_FILL = 76, + ICON_REPEAT_FILL = 77, + ICON_SHUFFLE_FILL = 78, + ICON_EMPTYBOX_SMALL = 79, + ICON_BOX = 80, + ICON_BOX_TOP = 81, + ICON_BOX_TOP_RIGHT = 82, + ICON_BOX_RIGHT = 83, + ICON_BOX_BOTTOM_RIGHT = 84, + ICON_BOX_BOTTOM = 85, + ICON_BOX_BOTTOM_LEFT = 86, + ICON_BOX_LEFT = 87, + ICON_BOX_TOP_LEFT = 88, + ICON_BOX_CENTER = 89, + ICON_BOX_CIRCLE_MASK = 90, + ICON_POT = 91, + ICON_ALPHA_MULTIPLY = 92, + ICON_ALPHA_CLEAR = 93, + ICON_DITHERING = 94, + ICON_MIPMAPS = 95, + ICON_BOX_GRID = 96, + ICON_GRID = 97, + ICON_BOX_CORNERS_SMALL = 98, + ICON_BOX_CORNERS_BIG = 99, + ICON_FOUR_BOXES = 100, + ICON_GRID_FILL = 101, + ICON_BOX_MULTISIZE = 102, + ICON_ZOOM_SMALL = 103, + ICON_ZOOM_MEDIUM = 104, + ICON_ZOOM_BIG = 105, + ICON_ZOOM_ALL = 106, + ICON_ZOOM_CENTER = 107, + ICON_BOX_DOTS_SMALL = 108, + ICON_BOX_DOTS_BIG = 109, + ICON_BOX_CONCENTRIC = 110, + ICON_BOX_GRID_BIG = 111, + ICON_OK_TICK = 112, + ICON_CROSS = 113, + ICON_ARROW_LEFT = 114, + ICON_ARROW_RIGHT = 115, + ICON_ARROW_DOWN = 116, + ICON_ARROW_UP = 117, + ICON_ARROW_LEFT_FILL = 118, + ICON_ARROW_RIGHT_FILL = 119, + ICON_ARROW_DOWN_FILL = 120, + ICON_ARROW_UP_FILL = 121, + ICON_AUDIO = 122, + ICON_FX = 123, + ICON_WAVE = 124, + ICON_WAVE_SINUS = 125, + ICON_WAVE_SQUARE = 126, + ICON_WAVE_TRIANGULAR = 127, + ICON_CROSS_SMALL = 128, + ICON_PLAYER_PREVIOUS = 129, + ICON_PLAYER_PLAY_BACK = 130, + ICON_PLAYER_PLAY = 131, + ICON_PLAYER_PAUSE = 132, + ICON_PLAYER_STOP = 133, + ICON_PLAYER_NEXT = 134, + ICON_PLAYER_RECORD = 135, + ICON_MAGNET = 136, + ICON_LOCK_CLOSE = 137, + ICON_LOCK_OPEN = 138, + ICON_CLOCK = 139, + ICON_TOOLS = 140, + ICON_GEAR = 141, + ICON_GEAR_BIG = 142, + ICON_BIN = 143, + ICON_HAND_POINTER = 144, + ICON_LASER = 145, + ICON_COIN = 146, + ICON_EXPLOSION = 147, + ICON_1UP = 148, + ICON_PLAYER = 149, + ICON_PLAYER_JUMP = 150, + ICON_KEY = 151, + ICON_DEMON = 152, + ICON_TEXT_POPUP = 153, + ICON_GEAR_EX = 154, + ICON_CRACK = 155, + ICON_CRACK_POINTS = 156, + ICON_STAR = 157, + ICON_DOOR = 158, + ICON_EXIT = 159, + ICON_MODE_2D = 160, + ICON_MODE_3D = 161, + ICON_CUBE = 162, + ICON_CUBE_FACE_TOP = 163, + ICON_CUBE_FACE_LEFT = 164, + ICON_CUBE_FACE_FRONT = 165, + ICON_CUBE_FACE_BOTTOM = 166, + ICON_CUBE_FACE_RIGHT = 167, + ICON_CUBE_FACE_BACK = 168, + ICON_CAMERA = 169, + ICON_SPECIAL = 170, + ICON_LINK_NET = 171, + ICON_LINK_BOXES = 172, + ICON_LINK_MULTI = 173, + ICON_LINK = 174, + ICON_LINK_BROKE = 175, + ICON_TEXT_NOTES = 176, + ICON_NOTEBOOK = 177, + ICON_SUITCASE = 178, + ICON_SUITCASE_ZIP = 179, + ICON_MAILBOX = 180, + ICON_MONITOR = 181, + ICON_PRINTER = 182, + ICON_PHOTO_CAMERA = 183, + ICON_PHOTO_CAMERA_FLASH = 184, + ICON_HOUSE = 185, + ICON_HEART = 186, + ICON_CORNER = 187, + ICON_VERTICAL_BARS = 188, + ICON_VERTICAL_BARS_FILL = 189, + ICON_LIFE_BARS = 190, + ICON_INFO = 191, + ICON_CROSSLINE = 192, + ICON_HELP = 193, + ICON_FILETYPE_ALPHA = 194, + ICON_FILETYPE_HOME = 195, + ICON_LAYERS_VISIBLE = 196, + ICON_LAYERS = 197, + ICON_WINDOW = 198, + ICON_HIDPI = 199, + ICON_FILETYPE_BINARY = 200, + ICON_HEX = 201, + ICON_SHIELD = 202, + ICON_FILE_NEW = 203, + ICON_FOLDER_ADD = 204, + ICON_ALARM = 205, + ICON_206 = 206, + ICON_207 = 207, + ICON_208 = 208, + ICON_209 = 209, + ICON_210 = 210, + ICON_211 = 211, + ICON_212 = 212, + ICON_213 = 213, + ICON_214 = 214, + ICON_215 = 215, + ICON_216 = 216, + ICON_217 = 217, + ICON_218 = 218, + ICON_219 = 219, + ICON_220 = 220, + ICON_221 = 221, + ICON_222 = 222, + ICON_223 = 223, + ICON_224 = 224, + ICON_225 = 225, + ICON_226 = 226, + ICON_227 = 227, + ICON_228 = 228, + ICON_229 = 229, + ICON_230 = 230, + ICON_231 = 231, + ICON_232 = 232, + ICON_233 = 233, + ICON_234 = 234, + ICON_235 = 235, + ICON_236 = 236, + ICON_237 = 237, + ICON_238 = 238, + ICON_239 = 239, + ICON_240 = 240, + ICON_241 = 241, + ICON_242 = 242, + ICON_243 = 243, + ICON_244 = 244, + ICON_245 = 245, + ICON_246 = 246, + ICON_247 = 247, + ICON_248 = 248, + ICON_249 = 249, + ICON_250 = 250, + ICON_251 = 251, + ICON_252 = 252, + ICON_253 = 253, + ICON_254 = 254, + ICON_255 = 255, +} GuiIconName; /*********************************************************************************** * * RAYGUI IMPLEMENTATION diff --git a/raylib/raylib.h.modified b/raylib/raylib.h.modified index 55e3d30..70e7f32 100644 --- a/raylib/raylib.h.modified +++ b/raylib/raylib.h.modified @@ -1,6 +1,6 @@ /********************************************************************************************** * -* raylib v4.1-dev - A simple and easy-to-use library to enjoy videogames programming (www.raylib.com) +* raylib v4.2-dev - A simple and easy-to-use library to enjoy videogames programming (www.raylib.com) * * FEATURES: * - NO external dependencies, all required libraries included with raylib @@ -346,6 +346,11 @@ typedef struct VrStereoConfig { float scale[2]; // VR distortion scale float scaleIn[2]; // VR distortion scale in } VrStereoConfig; +// File path list +typedef struct FilePathList { + unsigned int count; // Filepaths entries count + char **paths; // Filepaths entries +} FilePathList; //---------------------------------------------------------------------------------- // Enumerators Definition //---------------------------------------------------------------------------------- @@ -365,6 +370,7 @@ typedef enum { FLAG_WINDOW_ALWAYS_RUN = 0x00000100, // Set to allow windows running while minimized FLAG_WINDOW_TRANSPARENT = 0x00000010, // Set to allow transparent framebuffer FLAG_WINDOW_HIGHDPI = 0x00002000, // Set to support HighDPI + FLAG_WINDOW_MOUSE_PASSTHROUGH = 0x00004000, // Set to support mouse passthrough, only supported when FLAG_WINDOW_UNDECORATED FLAG_MSAA_4X_HINT = 0x00000020, // Set to try enabling MSAA 4X FLAG_INTERLACED_HINT = 0x00010000 // Set to try enabling interlaced video format (for V3D) } ConfigFlags; @@ -681,7 +687,7 @@ typedef enum { BLEND_MULTIPLIED, // Blend textures multiplying colors BLEND_ADD_COLORS, // Blend textures adding colors (alternative) BLEND_SUBTRACT_COLORS, // Blend textures subtracting colors (alternative) - BLEND_ALPHA_PREMUL, // Blend premultiplied textures considering alpha + BLEND_ALPHA_PREMULTIPLY, // Blend premultiplied textures considering alpha BLEND_CUSTOM // Blend textures using custom src/dst factors (use rlSetBlendMode()) } BlendMode; // Gesture @@ -765,8 +771,8 @@ typedef bool (*SaveFileTextCallback)(const char *fileName, char *text); // FileI int GetMonitorCount(void); // Get number of connected monitors int GetCurrentMonitor(void); // Get current connected monitor Vector2 GetMonitorPosition(int monitor); // Get specified monitor position - int GetMonitorWidth(int monitor); // Get specified monitor width (max available by monitor) - int GetMonitorHeight(int monitor); // Get specified monitor height (max available by monitor) + int GetMonitorWidth(int monitor); // Get specified monitor width (current video mode used by monitor) + int GetMonitorHeight(int monitor); // Get specified monitor height (current video mode used by monitor) int GetMonitorPhysicalWidth(int monitor); // Get specified monitor physical width in millimetres int GetMonitorPhysicalHeight(int monitor); // Get specified monitor physical height in millimetres int GetMonitorRefreshRate(int monitor); // Get specified monitor refresh rate @@ -783,7 +789,7 @@ typedef bool (*SaveFileTextCallback)(const char *fileName, char *text); // FileI // To avoid that behaviour and control frame processes manually, enable in config.h: SUPPORT_CUSTOM_FRAME_CONTROL void SwapScreenBuffer(void); // Swap back buffer with front buffer (screen drawing) void PollInputEvents(void); // Register all input events - void WaitTime(float ms); // Wait for some milliseconds (halt program execution) + void WaitTime(double seconds); // Wait for some time (halt program execution) // Cursor-related functions void ShowCursor(void); // Shows cursor void HideCursor(void); // Hides cursor @@ -828,9 +834,9 @@ typedef bool (*SaveFileTextCallback)(const char *fileName, char *text); // FileI Matrix GetCameraMatrix(Camera camera); // Get camera transform matrix (view matrix) Matrix GetCameraMatrix2D(Camera2D camera); // Get camera 2d transform matrix Vector2 GetWorldToScreen(Vector3 position, Camera camera); // Get the screen space position for a 3d world space position + Vector2 GetScreenToWorld2D(Vector2 position, Camera2D camera); // Get the world space position for a 2d camera screen space position Vector2 GetWorldToScreenEx(Vector3 position, Camera camera, int width, int height); // Get size position for a 3d world space position Vector2 GetWorldToScreen2D(Vector2 position, Camera2D camera); // Get the screen space position for a 2d camera world space position - Vector2 GetScreenToWorld2D(Vector2 position, Camera2D camera); // Get the world space position for a 2d camera screen space position // Timing-related functions void SetTargetFPS(int fps); // Set target FPS (maximum) int GetFPS(void); // Get current FPS @@ -872,12 +878,14 @@ typedef bool (*SaveFileTextCallback)(const char *fileName, char *text); // FileI const char *GetPrevDirectoryPath(const char *dirPath); // Get previous directory path for a given path (uses static string) const char *GetWorkingDirectory(void); // Get current working directory (uses static string) const char *GetApplicationDirectory(void); // Get the directory if the running application (uses static string) - char **GetDirectoryFiles(const char *dirPath, int *count); // Get filenames in a directory path (memory must be freed) - void ClearDirectoryFiles(void); // Clear directory files paths buffers (free memory) bool ChangeDirectory(const char *dir); // Change working directory, return true on success + bool IsPathFile(const char *path); // Check if a given path is a file or a directory + FilePathList LoadDirectoryFiles(const char *dirPath); // Load directory filepaths + FilePathList LoadDirectoryFilesEx(const char *basePath, const char *filter, bool scanSubdirs); // Load directory filepaths with extension filtering and recursive directory scan + void UnloadDirectoryFiles(FilePathList files); // Unload filepaths bool IsFileDropped(void); // Check if a file has been dropped into window - char **GetDroppedFiles(int *count); // Get dropped files names (memory must be freed) - void ClearDroppedFiles(void); // Clear dropped files paths buffer (free memory) + FilePathList LoadDroppedFiles(void); // Load dropped filepaths + void UnloadDroppedFiles(FilePathList files); // Unload dropped filepaths long GetFileModTime(const char *fileName); // Get file modification time (last write time) // Compression/Encoding functionality unsigned char *CompressData(const unsigned char *data, int dataSize, int *compDataSize); // Compress data (DEFLATE algorithm), memory must be MemFree() diff --git a/raylib/rlgl.h.modified b/raylib/rlgl.h.modified index 12cbba2..8b338c7 100644 --- a/raylib/rlgl.h.modified +++ b/raylib/rlgl.h.modified @@ -249,7 +249,7 @@ typedef enum { RL_BLEND_MULTIPLIED, // Blend textures multiplying colors RL_BLEND_ADD_COLORS, // Blend textures adding colors (alternative) RL_BLEND_SUBTRACT_COLORS, // Blend textures subtracting colors (alternative) - RL_BLEND_ALPHA_PREMUL, // Blend premultiplied textures considering alpha + RL_BLEND_ALPHA_PREMULTIPLY, // Blend premultiplied textures considering alpha RL_BLEND_CUSTOM // Blend textures using custom src/dst factors (use rlSetBlendFactors()) } rlBlendMode; // Shader location point type diff --git a/version.py b/version.py index 3498af8..a1e7b64 100644 --- a/version.py +++ b/version.py @@ -1 +1 @@ -__version__ = "4.1.0.0.dev1" \ No newline at end of file +__version__ = "4.2.0.0.dev0" \ No newline at end of file