This commit is contained in:
Richard Smith 2024-10-17 15:58:59 +01:00
parent cfad3eacaa
commit 1817fec006
16 changed files with 287 additions and 217 deletions

View file

@ -2,7 +2,7 @@
## Libraries: raymath, raygui, rlgl, physac and GLFW
## Backends: Desktop, SDL, DRM, Web
Chatroom: [Discord](https://discord.gg/fKDwt85aX6) or [Matrix](https://matrix.to/#/#raylib-python-cffi:matrix.org)
Chatroom: [Discord](https://discord.gg/fKDwt85aX6)
New CFFI API static bindings.
* Automatically generated to be as close as possible to
@ -39,7 +39,8 @@ Then install
python3 -m pip install setuptools
python3 -m pip install raylib==5.0.0.4
On most platforms it should install a binary wheel. If yours isn't available then pip will attempt to build from source, in which case you will need to have Raylib development libs installed, e.g.
On most platforms it should install a binary wheel. If yours isn't available then pip will attempt to build from
source, in which case you will need to have Raylib development libs installed, e.g.
using homebrew, apt, etc.
## Windows
@ -68,7 +69,7 @@ if you want to test them.)
Binaries require OS newer than Ubuntu 2020, x64 or arm64. Otherwise build from source.
(Pip should attempt automatically but will need Raylib itself installed and also pkg-config.)
The arm64 builds are built on Raspberry Pi arm64 Bullseye
The arm64 binaries are built on Raspberry Pi arm64 Bullseye with OpenGL 2.0
so may not work on other boards.
## Raspberry Pi
@ -79,6 +80,7 @@ so may not work on other boards.
There is now a separate dynamic version of this binding:
python3 -m pip uninstall raylib
python3 -m pip install raylib_dynamic
It works on some systems where the static version doesn't, [but be sure to read these caveats before using it](https://electronstudio.github.io/raylib-python-cffi/dynamic.html)
@ -106,22 +108,24 @@ You can't have multiple raylib packages installed at once.
If it doesn't work, [try to build manually.](BUILDING.rst). If that works then [submit an issue](https://github.com/electronstudio/raylib-python-cffi/issues)
to let us know what you did.
If you need help you can try asking [on Discord](https://discord.gg/raylib).
If you need help you can try asking on [our discord](https://discord.gg/fKDwt85aX6). There is also a large [Raylib discord](https://discord.gg/raylib)
for issues that are not Python-specific.
If it still doesn't work, [submit an issue](https://github.com/electronstudio/raylib-python-cffi/issues).
# How to use
There are two APIs, you can use either or both:
There are two modules in the raylib package, `raylib` and `pyray`. (There is no separate package for
pyray). You can use either or both:
### If you are familiar with C coding and the Raylib C library and you want to use an exact copy of the C API
Use [the C API](https://electronstudio.github.io/raylib-python-cffi/raylib.html).
Use [the raylib module](https://electronstudio.github.io/raylib-python-cffi/raylib.html).
### If you prefer a slightly more Pythonistic API and don't mind it might be slightly slower
### If you prefer a more Pythonistic API
Use [the Python API](https://electronstudio.github.io/raylib-python-cffi/pyray.html).
Use [the pyray module](https://electronstudio.github.io/raylib-python-cffi/pyray.html).
# Running in a web browser

View file

@ -56,7 +56,6 @@ Example program:
init_window(800, 450, "Raylib texture test")
...
(You don't need to use the PyRay() class anymore.)
`See all examples here <https://github.com/electronstudio/raylib-python-cffi/tree/master/examples>`_

View file

@ -127,7 +127,7 @@ project.</p>
<p>If the Pip build doesnt work, please submit a bug. (And if you have
fixed it, a PR.)</p>
</div>
<p>Manual instructions follow, but may be outdated, so see also how we actually build the wheels
<p>Manual instructions follow, but are probably outdated, so see instead how we actually build the wheels
at <a class="reference external" href="https://github.com/electronstudio/raylib-python-cffi/blob/master/.github/workflows/build.yml">https://github.com/electronstudio/raylib-python-cffi/blob/master/.github/workflows/build.yml</a></p>
<section id="windows-manual-build">
<h3>Windows manual build<a class="headerlink" href="#windows-manual-build" title="Link to this heading"></a></h3>

View file

@ -64,7 +64,7 @@
</li>
<li class="toctree-l1"><a class="reference internal" href="#how-to-use">How to use</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#if-you-are-familiar-with-c-coding-and-the-raylib-c-library-and-you-want-to-use-an-exact-copy-of-the-c-api">If you are familiar with C coding and the Raylib C library and you want to use an exact copy of the C API</a></li>
<li class="toctree-l2"><a class="reference internal" href="#if-you-prefer-a-slightly-more-pythonistic-api-and-don-t-mind-it-might-be-slightly-slower">If you prefer a slightly more Pythonistic API and dont mind it might be slightly slower</a></li>
<li class="toctree-l2"><a class="reference internal" href="#if-you-prefer-a-more-pythonistic-api">If you prefer a more Pythonistic API</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="#running-in-a-web-browser">Running in a web browser</a></li>
@ -116,7 +116,7 @@
</section>
<section id="backends-desktop-sdl-drm-web">
<h2>Backends: Desktop, SDL, DRM, Web<a class="headerlink" href="#backends-desktop-sdl-drm-web" title="Link to this heading"></a></h2>
<p>Chatroom: <a class="reference external" href="https://discord.gg/fKDwt85aX6">Discord</a> or <a class="reference external" href="https://matrix.to/#/#raylib-python-cffi:matrix.org">Matrix</a></p>
<p>Chatroom: <a class="reference external" href="https://discord.gg/fKDwt85aX6">Discord</a></p>
<p>New CFFI API static bindings.</p>
<ul class="simple">
<li><p>Automatically generated to be as close as possible to
@ -153,7 +153,8 @@ original Raylib.</p></li>
python3 -m pip install raylib==5.0.0.4
</pre></div>
</div>
<p>On most platforms it should install a binary wheel. If yours isnt available then pip will attempt to build from source, in which case you will need to have Raylib development libs installed, e.g.
<p>On most platforms it should install a binary wheel. If yours isnt available then pip will attempt to build from
source, in which case you will need to have Raylib development libs installed, e.g.
using homebrew, apt, etc.</p>
<section id="windows">
<h2>Windows<a class="headerlink" href="#windows" title="Link to this heading"></a></h2>
@ -162,19 +163,25 @@ using homebrew, apt, etc.</p>
</section>
<section id="macos">
<h2>MacOS<a class="headerlink" href="#macos" title="Link to this heading"></a></h2>
<p>Binaries require arm64 MacOS 13 or x64 MacOS 12 or newer.</p>
<p>Binaries require:</p>
<ul class="simple">
<li><p>arm64 MacOS 14</p></li>
<li><p>x64 MacOS 10.13, or newer.</p></li>
</ul>
<p>Older MacOS requires building from source but this is usually simple:</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>brew install pkg-config
brew install raylib
python3 -m pip install raylib==5.0.0.4
</pre></div>
</div>
<p>(I do have binaries for arm64 MacOS 11, 12 and 13 but I have no way of testing they work, so post an issue
if you want to test them.)</p>
</section>
<section id="linux">
<h2>Linux<a class="headerlink" href="#linux" title="Link to this heading"></a></h2>
<p>Binaries require OS newer than Ubuntu 2020, x64 or arm64. Otherwise build from source.
(Pip should attempt automatically but will need Raylib itself installed and also pkg-config.)</p>
<p>The arm64 builds are built on Raspberry Pi arm64 Bullseye
<p>The arm64 binaries are built on Raspberry Pi arm64 Bullseye with OpenGL 2.0
so may not work on other boards.</p>
</section>
<section id="raspberry-pi">
@ -184,7 +191,8 @@ so may not work on other boards.</p>
<section id="dynamic-binding-version">
<h2>Dynamic binding version<a class="headerlink" href="#dynamic-binding-version" title="Link to this heading"></a></h2>
<p>There is now a separate dynamic version of this binding:</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>python3 -m pip install raylib_dynamic
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>python3 -m pip uninstall raylib
python3 -m pip install raylib_dynamic
</pre></div>
</div>
<p>It works on some systems where the static version doesnt, <a class="reference external" href="https://electronstudio.github.io/raylib-python-cffi/dynamic.html">but be sure to read these caveats before using it</a></p>
@ -196,7 +204,7 @@ so may not work on other boards.</p>
python3 -m pip install raylib_sdl
</pre></div>
</div>
<p>You cant have multiple backends installed at once.</p>
<p>You cant have multiple raylib packages installed at once.</p>
</section>
<section id="drm-backend">
<h2>DRM backend<a class="headerlink" href="#drm-backend" title="Link to this heading"></a></h2>
@ -205,26 +213,28 @@ python3 -m pip install raylib_sdl
python3 -m pip install raylib_drm
</pre></div>
</div>
<p>You cant have multiple backends installed at once.</p>
<p>You cant have multiple raylib packages installed at once.</p>
</section>
<section id="problems">
<h2>Problems?<a class="headerlink" href="#problems" title="Link to this heading"></a></h2>
<p>If it doesnt work, <a class="reference internal" href="BUILDING.html"><span class="std std-doc">try to build manually.</span></a>. If that works then <a class="reference external" href="https://github.com/electronstudio/raylib-python-cffi/issues">submit an issue</a>
to let us know what you did.</p>
<p>If you need help you can try asking <a class="reference external" href="https://discord.gg/raylib">on Discord</a>.</p>
<p>If you need help you can try asking on <a class="reference external" href="https://discord.gg/fKDwt85aX6">our discord</a>. There is also a large <a class="reference external" href="https://discord.gg/raylib">Raylib discord</a>
for issues that are not Python-specific.</p>
<p>If it still doesnt work, <a class="reference external" href="https://github.com/electronstudio/raylib-python-cffi/issues">submit an issue</a>.</p>
</section>
</section>
<section id="how-to-use">
<h1>How to use<a class="headerlink" href="#how-to-use" title="Link to this heading"></a></h1>
<p>There are two APIs, you can use either or both:</p>
<p>There are two modules in the raylib package, <code class="docutils literal notranslate"><span class="pre">raylib</span></code> and <code class="docutils literal notranslate"><span class="pre">pyray</span></code>. (There is no separate package for
pyray). You can use either or both:</p>
<section id="if-you-are-familiar-with-c-coding-and-the-raylib-c-library-and-you-want-to-use-an-exact-copy-of-the-c-api">
<h2>If you are familiar with C coding and the Raylib C library and you want to use an exact copy of the C API<a class="headerlink" href="#if-you-are-familiar-with-c-coding-and-the-raylib-c-library-and-you-want-to-use-an-exact-copy-of-the-c-api" title="Link to this heading"></a></h2>
<p>Use <a class="reference external" href="https://electronstudio.github.io/raylib-python-cffi/raylib.html">the C API</a>.</p>
<p>Use <a class="reference external" href="https://electronstudio.github.io/raylib-python-cffi/raylib.html">the raylib module</a>.</p>
</section>
<section id="if-you-prefer-a-slightly-more-pythonistic-api-and-don-t-mind-it-might-be-slightly-slower">
<h2>If you prefer a slightly more Pythonistic API and dont mind it might be slightly slower<a class="headerlink" href="#if-you-prefer-a-slightly-more-pythonistic-api-and-don-t-mind-it-might-be-slightly-slower" title="Link to this heading"></a></h2>
<p>Use <a class="reference external" href="https://electronstudio.github.io/raylib-python-cffi/pyray.html">the Python API</a>.</p>
<section id="if-you-prefer-a-more-pythonistic-api">
<h2>If you prefer a more Pythonistic API<a class="headerlink" href="#if-you-prefer-a-more-pythonistic-api" title="Link to this heading"></a></h2>
<p>Use <a class="reference external" href="https://electronstudio.github.io/raylib-python-cffi/pyray.html">the pyray module</a>.</p>
</section>
</section>
<section id="running-in-a-web-browser">

View file

@ -38,7 +38,7 @@ project.
If the Pip build doesnt work, please submit a bug. (And if you have
fixed it, a PR.)
Manual instructions follow, but may be outdated, so see also how we actually build the wheels
Manual instructions follow, but are probably outdated, so see instead how we actually build the wheels
at https://github.com/electronstudio/raylib-python-cffi/blob/master/.github/workflows/build.yml
Windows manual build

View file

@ -2,7 +2,7 @@
## Libraries: raymath, raygui, rlgl, physac and GLFW
## Backends: Desktop, SDL, DRM, Web
Chatroom: [Discord](https://discord.gg/fKDwt85aX6) or [Matrix](https://matrix.to/#/#raylib-python-cffi:matrix.org)
Chatroom: [Discord](https://discord.gg/fKDwt85aX6)
New CFFI API static bindings.
* Automatically generated to be as close as possible to
@ -39,7 +39,8 @@ Then install
python3 -m pip install setuptools
python3 -m pip install raylib==5.0.0.4
On most platforms it should install a binary wheel. If yours isn't available then pip will attempt to build from source, in which case you will need to have Raylib development libs installed, e.g.
On most platforms it should install a binary wheel. If yours isn't available then pip will attempt to build from
source, in which case you will need to have Raylib development libs installed, e.g.
using homebrew, apt, etc.
## Windows
@ -50,7 +51,9 @@ Use an [official Windows Python release](https://www.python.org/downloads/window
## MacOS
Binaries require arm64 MacOS 13 or x64 MacOS 12 or newer.
Binaries require:
* arm64 MacOS 14
* x64 MacOS 10.13, or newer.
Older MacOS requires building from source but this is usually simple:
@ -58,12 +61,15 @@ Older MacOS requires building from source but this is usually simple:
brew install raylib
python3 -m pip install raylib==5.0.0.4
(I do have binaries for arm64 MacOS 11, 12 and 13 but I have no way of testing they work, so post an issue
if you want to test them.)
## Linux
Binaries require OS newer than Ubuntu 2020, x64 or arm64. Otherwise build from source.
(Pip should attempt automatically but will need Raylib itself installed and also pkg-config.)
The arm64 builds are built on Raspberry Pi arm64 Bullseye
The arm64 binaries are built on Raspberry Pi arm64 Bullseye with OpenGL 2.0
so may not work on other boards.
## Raspberry Pi
@ -74,6 +80,7 @@ so may not work on other boards.
There is now a separate dynamic version of this binding:
python3 -m pip uninstall raylib
python3 -m pip install raylib_dynamic
It works on some systems where the static version doesn't, [but be sure to read these caveats before using it](https://electronstudio.github.io/raylib-python-cffi/dynamic.html)
@ -85,7 +92,7 @@ This is not well tested but has better support for controllers:
python3 -m pip uninstall raylib
python3 -m pip install raylib_sdl
You can't have multiple backends installed at once.
You can't have multiple raylib packages installed at once.
## DRM backend
@ -94,29 +101,31 @@ This uses the Linux framebuffer for devices that don't run X11/Wayland:
python3 -m pip uninstall raylib
python3 -m pip install raylib_drm
You can't have multiple backends installed at once.
You can't have multiple raylib packages installed at once.
## Problems?
If it doesn't work, [try to build manually.](BUILDING.rst). If that works then [submit an issue](https://github.com/electronstudio/raylib-python-cffi/issues)
to let us know what you did.
If you need help you can try asking [on Discord](https://discord.gg/raylib).
If you need help you can try asking on [our discord](https://discord.gg/fKDwt85aX6). There is also a large [Raylib discord](https://discord.gg/raylib)
for issues that are not Python-specific.
If it still doesn't work, [submit an issue](https://github.com/electronstudio/raylib-python-cffi/issues).
# How to use
There are two APIs, you can use either or both:
There are two modules in the raylib package, `raylib` and `pyray`. (There is no separate package for
pyray). You can use either or both:
### If you are familiar with C coding and the Raylib C library and you want to use an exact copy of the C API
Use [the C API](https://electronstudio.github.io/raylib-python-cffi/raylib.html).
Use [the raylib module](https://electronstudio.github.io/raylib-python-cffi/raylib.html).
### If you prefer a slightly more Pythonistic API and don't mind it might be slightly slower
### If you prefer a more Pythonistic API
Use [the Python API](https://electronstudio.github.io/raylib-python-cffi/pyray.html).
Use [the pyray module](https://electronstudio.github.io/raylib-python-cffi/pyray.html).
# Running in a web browser

View file

@ -56,7 +56,6 @@ Example program:
init_window(800, 450, "Raylib texture test")
...
(You don't need to use the PyRay() class anymore.)
`See all examples here <https://github.com/electronstudio/raylib-python-cffi/tree/master/examples>`_

View file

@ -596,8 +596,6 @@
</li>
<li><a href="pyray.html#pyray.codepoint_to_utf8">codepoint_to_utf8() (in module pyray)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="raylib.html#raylib.CodepointToUTF8">CodepointToUTF8() (in module raylib)</a>
</li>
<li><a href="pyray.html#pyray.Color">Color (class in pyray)</a>
@ -606,6 +604,8 @@
<li><a href="raylib.html#raylib.Color">(in module raylib)</a>
</li>
</ul></li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="pyray.html#pyray.MaterialMap.color">color (pyray.MaterialMap attribute)</a>
</li>
<li><a href="pyray.html#pyray.color_alpha">color_alpha() (in module pyray)</a>
@ -695,6 +695,14 @@
<li><a href="pyray.html#pyray.compress_data">compress_data() (in module pyray)</a>
</li>
<li><a href="raylib.html#raylib.CompressData">CompressData() (in module raylib)</a>
</li>
<li><a href="pyray.html#pyray.compute_crc32">compute_crc32() (in module pyray)</a>
</li>
<li><a href="pyray.html#pyray.compute_md5">compute_md5() (in module pyray)</a>
</li>
<li><a href="raylib.html#raylib.ComputeCRC32">ComputeCRC32() (in module raylib)</a>
</li>
<li><a href="raylib.html#raylib.ComputeMD5">ComputeMD5() (in module raylib)</a>
</li>
<li><a href="pyray.html#pyray.ConfigFlags">ConfigFlags (class in pyray)</a>
@ -5024,7 +5032,7 @@
</li>
<li><a href="pyray.html#pyray.is_audio_stream_processed">is_audio_stream_processed() (in module pyray)</a>
</li>
<li><a href="pyray.html#pyray.is_audio_stream_ready">is_audio_stream_ready() (in module pyray)</a>
<li><a href="pyray.html#pyray.is_audio_stream_valid">is_audio_stream_valid() (in module pyray)</a>
</li>
<li><a href="pyray.html#pyray.is_cursor_hidden">is_cursor_hidden() (in module pyray)</a>
</li>
@ -5036,7 +5044,7 @@
</li>
<li><a href="pyray.html#pyray.is_file_name_valid">is_file_name_valid() (in module pyray)</a>
</li>
<li><a href="pyray.html#pyray.is_font_ready">is_font_ready() (in module pyray)</a>
<li><a href="pyray.html#pyray.is_font_valid">is_font_valid() (in module pyray)</a>
</li>
<li><a href="pyray.html#pyray.is_gamepad_available">is_gamepad_available() (in module pyray)</a>
</li>
@ -5050,7 +5058,7 @@
</li>
<li><a href="pyray.html#pyray.is_gesture_detected">is_gesture_detected() (in module pyray)</a>
</li>
<li><a href="pyray.html#pyray.is_image_ready">is_image_ready() (in module pyray)</a>
<li><a href="pyray.html#pyray.is_image_valid">is_image_valid() (in module pyray)</a>
</li>
<li><a href="pyray.html#pyray.is_key_down">is_key_down() (in module pyray)</a>
</li>
@ -5062,11 +5070,11 @@
</li>
<li><a href="pyray.html#pyray.is_key_up">is_key_up() (in module pyray)</a>
</li>
<li><a href="pyray.html#pyray.is_material_ready">is_material_ready() (in module pyray)</a>
<li><a href="pyray.html#pyray.is_material_valid">is_material_valid() (in module pyray)</a>
</li>
<li><a href="pyray.html#pyray.is_model_animation_valid">is_model_animation_valid() (in module pyray)</a>
</li>
<li><a href="pyray.html#pyray.is_model_ready">is_model_ready() (in module pyray)</a>
<li><a href="pyray.html#pyray.is_model_valid">is_model_valid() (in module pyray)</a>
</li>
<li><a href="pyray.html#pyray.is_mouse_button_down">is_mouse_button_down() (in module pyray)</a>
</li>
@ -5075,24 +5083,24 @@
<li><a href="pyray.html#pyray.is_mouse_button_released">is_mouse_button_released() (in module pyray)</a>
</li>
<li><a href="pyray.html#pyray.is_mouse_button_up">is_mouse_button_up() (in module pyray)</a>
</li>
<li><a href="pyray.html#pyray.is_music_ready">is_music_ready() (in module pyray)</a>
</li>
<li><a href="pyray.html#pyray.is_music_stream_playing">is_music_stream_playing() (in module pyray)</a>
</li>
<li><a href="pyray.html#pyray.is_music_valid">is_music_valid() (in module pyray)</a>
</li>
<li><a href="pyray.html#pyray.is_path_file">is_path_file() (in module pyray)</a>
</li>
<li><a href="pyray.html#pyray.is_render_texture_ready">is_render_texture_ready() (in module pyray)</a>
<li><a href="pyray.html#pyray.is_render_texture_valid">is_render_texture_valid() (in module pyray)</a>
</li>
<li><a href="pyray.html#pyray.is_shader_ready">is_shader_ready() (in module pyray)</a>
<li><a href="pyray.html#pyray.is_shader_valid">is_shader_valid() (in module pyray)</a>
</li>
<li><a href="pyray.html#pyray.is_sound_playing">is_sound_playing() (in module pyray)</a>
</li>
<li><a href="pyray.html#pyray.is_sound_ready">is_sound_ready() (in module pyray)</a>
<li><a href="pyray.html#pyray.is_sound_valid">is_sound_valid() (in module pyray)</a>
</li>
<li><a href="pyray.html#pyray.is_texture_ready">is_texture_ready() (in module pyray)</a>
<li><a href="pyray.html#pyray.is_texture_valid">is_texture_valid() (in module pyray)</a>
</li>
<li><a href="pyray.html#pyray.is_wave_ready">is_wave_ready() (in module pyray)</a>
<li><a href="pyray.html#pyray.is_wave_valid">is_wave_valid() (in module pyray)</a>
</li>
<li><a href="pyray.html#pyray.is_window_focused">is_window_focused() (in module pyray)</a>
</li>
@ -5116,7 +5124,7 @@
</li>
<li><a href="raylib.html#raylib.IsAudioStreamProcessed">IsAudioStreamProcessed() (in module raylib)</a>
</li>
<li><a href="raylib.html#raylib.IsAudioStreamReady">IsAudioStreamReady() (in module raylib)</a>
<li><a href="raylib.html#raylib.IsAudioStreamValid">IsAudioStreamValid() (in module raylib)</a>
</li>
<li><a href="raylib.html#raylib.IsCursorHidden">IsCursorHidden() (in module raylib)</a>
</li>
@ -5128,7 +5136,7 @@
</li>
<li><a href="raylib.html#raylib.IsFileNameValid">IsFileNameValid() (in module raylib)</a>
</li>
<li><a href="raylib.html#raylib.IsFontReady">IsFontReady() (in module raylib)</a>
<li><a href="raylib.html#raylib.IsFontValid">IsFontValid() (in module raylib)</a>
</li>
<li><a href="raylib.html#raylib.IsGamepadAvailable">IsGamepadAvailable() (in module raylib)</a>
</li>
@ -5144,7 +5152,7 @@
</li>
<li><a href="pyray.html#pyray.PhysicsBodyData.isGrounded">isGrounded (pyray.PhysicsBodyData attribute)</a>
</li>
<li><a href="raylib.html#raylib.IsImageReady">IsImageReady() (in module raylib)</a>
<li><a href="raylib.html#raylib.IsImageValid">IsImageValid() (in module raylib)</a>
</li>
<li><a href="raylib.html#raylib.IsKeyDown">IsKeyDown() (in module raylib)</a>
</li>
@ -5156,11 +5164,11 @@
</li>
<li><a href="raylib.html#raylib.IsKeyUp">IsKeyUp() (in module raylib)</a>
</li>
<li><a href="raylib.html#raylib.IsMaterialReady">IsMaterialReady() (in module raylib)</a>
<li><a href="raylib.html#raylib.IsMaterialValid">IsMaterialValid() (in module raylib)</a>
</li>
<li><a href="raylib.html#raylib.IsModelAnimationValid">IsModelAnimationValid() (in module raylib)</a>
</li>
<li><a href="raylib.html#raylib.IsModelReady">IsModelReady() (in module raylib)</a>
<li><a href="raylib.html#raylib.IsModelValid">IsModelValid() (in module raylib)</a>
</li>
<li><a href="raylib.html#raylib.IsMouseButtonDown">IsMouseButtonDown() (in module raylib)</a>
</li>
@ -5169,24 +5177,24 @@
<li><a href="raylib.html#raylib.IsMouseButtonReleased">IsMouseButtonReleased() (in module raylib)</a>
</li>
<li><a href="raylib.html#raylib.IsMouseButtonUp">IsMouseButtonUp() (in module raylib)</a>
</li>
<li><a href="raylib.html#raylib.IsMusicReady">IsMusicReady() (in module raylib)</a>
</li>
<li><a href="raylib.html#raylib.IsMusicStreamPlaying">IsMusicStreamPlaying() (in module raylib)</a>
</li>
<li><a href="raylib.html#raylib.IsMusicValid">IsMusicValid() (in module raylib)</a>
</li>
<li><a href="raylib.html#raylib.IsPathFile">IsPathFile() (in module raylib)</a>
</li>
<li><a href="raylib.html#raylib.IsRenderTextureReady">IsRenderTextureReady() (in module raylib)</a>
<li><a href="raylib.html#raylib.IsRenderTextureValid">IsRenderTextureValid() (in module raylib)</a>
</li>
<li><a href="raylib.html#raylib.IsShaderReady">IsShaderReady() (in module raylib)</a>
<li><a href="raylib.html#raylib.IsShaderValid">IsShaderValid() (in module raylib)</a>
</li>
<li><a href="raylib.html#raylib.IsSoundPlaying">IsSoundPlaying() (in module raylib)</a>
</li>
<li><a href="raylib.html#raylib.IsSoundReady">IsSoundReady() (in module raylib)</a>
<li><a href="raylib.html#raylib.IsSoundValid">IsSoundValid() (in module raylib)</a>
</li>
<li><a href="raylib.html#raylib.IsTextureReady">IsTextureReady() (in module raylib)</a>
<li><a href="raylib.html#raylib.IsTextureValid">IsTextureValid() (in module raylib)</a>
</li>
<li><a href="raylib.html#raylib.IsWaveReady">IsWaveReady() (in module raylib)</a>
<li><a href="raylib.html#raylib.IsWaveValid">IsWaveValid() (in module raylib)</a>
</li>
<li><a href="raylib.html#raylib.IsWindowFocused">IsWindowFocused() (in module raylib)</a>
</li>

Binary file not shown.

View file

@ -1227,6 +1227,8 @@
<li class="toctree-l3"><a class="reference internal" href="#pyray.color_to_hsv"><code class="docutils literal notranslate"><span class="pre">color_to_hsv()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.color_to_int"><code class="docutils literal notranslate"><span class="pre">color_to_int()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.compress_data"><code class="docutils literal notranslate"><span class="pre">compress_data()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.compute_crc32"><code class="docutils literal notranslate"><span class="pre">compute_crc32()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.compute_md5"><code class="docutils literal notranslate"><span class="pre">compute_md5()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.create_physics_body_circle"><code class="docutils literal notranslate"><span class="pre">create_physics_body_circle()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.create_physics_body_polygon"><code class="docutils literal notranslate"><span class="pre">create_physics_body_polygon()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.create_physics_body_rectangle"><code class="docutils literal notranslate"><span class="pre">create_physics_body_rectangle()</span></code></a></li>
@ -1720,41 +1722,41 @@
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_audio_device_ready"><code class="docutils literal notranslate"><span class="pre">is_audio_device_ready()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_audio_stream_playing"><code class="docutils literal notranslate"><span class="pre">is_audio_stream_playing()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_audio_stream_processed"><code class="docutils literal notranslate"><span class="pre">is_audio_stream_processed()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_audio_stream_ready"><code class="docutils literal notranslate"><span class="pre">is_audio_stream_ready()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_audio_stream_valid"><code class="docutils literal notranslate"><span class="pre">is_audio_stream_valid()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_cursor_hidden"><code class="docutils literal notranslate"><span class="pre">is_cursor_hidden()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_cursor_on_screen"><code class="docutils literal notranslate"><span class="pre">is_cursor_on_screen()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_file_dropped"><code class="docutils literal notranslate"><span class="pre">is_file_dropped()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_file_extension"><code class="docutils literal notranslate"><span class="pre">is_file_extension()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_file_name_valid"><code class="docutils literal notranslate"><span class="pre">is_file_name_valid()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_font_ready"><code class="docutils literal notranslate"><span class="pre">is_font_ready()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_font_valid"><code class="docutils literal notranslate"><span class="pre">is_font_valid()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_gamepad_available"><code class="docutils literal notranslate"><span class="pre">is_gamepad_available()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_gamepad_button_down"><code class="docutils literal notranslate"><span class="pre">is_gamepad_button_down()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_gamepad_button_pressed"><code class="docutils literal notranslate"><span class="pre">is_gamepad_button_pressed()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_gamepad_button_released"><code class="docutils literal notranslate"><span class="pre">is_gamepad_button_released()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_gamepad_button_up"><code class="docutils literal notranslate"><span class="pre">is_gamepad_button_up()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_gesture_detected"><code class="docutils literal notranslate"><span class="pre">is_gesture_detected()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_image_ready"><code class="docutils literal notranslate"><span class="pre">is_image_ready()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_image_valid"><code class="docutils literal notranslate"><span class="pre">is_image_valid()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_key_down"><code class="docutils literal notranslate"><span class="pre">is_key_down()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_key_pressed"><code class="docutils literal notranslate"><span class="pre">is_key_pressed()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_key_pressed_repeat"><code class="docutils literal notranslate"><span class="pre">is_key_pressed_repeat()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_key_released"><code class="docutils literal notranslate"><span class="pre">is_key_released()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_key_up"><code class="docutils literal notranslate"><span class="pre">is_key_up()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_material_ready"><code class="docutils literal notranslate"><span class="pre">is_material_ready()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_material_valid"><code class="docutils literal notranslate"><span class="pre">is_material_valid()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_model_animation_valid"><code class="docutils literal notranslate"><span class="pre">is_model_animation_valid()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_model_ready"><code class="docutils literal notranslate"><span class="pre">is_model_ready()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_model_valid"><code class="docutils literal notranslate"><span class="pre">is_model_valid()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_mouse_button_down"><code class="docutils literal notranslate"><span class="pre">is_mouse_button_down()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_mouse_button_pressed"><code class="docutils literal notranslate"><span class="pre">is_mouse_button_pressed()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_mouse_button_released"><code class="docutils literal notranslate"><span class="pre">is_mouse_button_released()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_mouse_button_up"><code class="docutils literal notranslate"><span class="pre">is_mouse_button_up()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_music_ready"><code class="docutils literal notranslate"><span class="pre">is_music_ready()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_music_stream_playing"><code class="docutils literal notranslate"><span class="pre">is_music_stream_playing()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_music_valid"><code class="docutils literal notranslate"><span class="pre">is_music_valid()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_path_file"><code class="docutils literal notranslate"><span class="pre">is_path_file()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_render_texture_ready"><code class="docutils literal notranslate"><span class="pre">is_render_texture_ready()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_shader_ready"><code class="docutils literal notranslate"><span class="pre">is_shader_ready()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_render_texture_valid"><code class="docutils literal notranslate"><span class="pre">is_render_texture_valid()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_shader_valid"><code class="docutils literal notranslate"><span class="pre">is_shader_valid()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_sound_playing"><code class="docutils literal notranslate"><span class="pre">is_sound_playing()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_sound_ready"><code class="docutils literal notranslate"><span class="pre">is_sound_ready()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_texture_ready"><code class="docutils literal notranslate"><span class="pre">is_texture_ready()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_wave_ready"><code class="docutils literal notranslate"><span class="pre">is_wave_ready()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_sound_valid"><code class="docutils literal notranslate"><span class="pre">is_sound_valid()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_texture_valid"><code class="docutils literal notranslate"><span class="pre">is_texture_valid()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_wave_valid"><code class="docutils literal notranslate"><span class="pre">is_wave_valid()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_window_focused"><code class="docutils literal notranslate"><span class="pre">is_window_focused()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_window_fullscreen"><code class="docutils literal notranslate"><span class="pre">is_window_fullscreen()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#pyray.is_window_hidden"><code class="docutils literal notranslate"><span class="pre">is_window_hidden()</span></code></a></li>
@ -2369,7 +2371,6 @@
<span class="o">...</span>
</pre></div>
</div>
<p>(You dont need to use the PyRay() class anymore.)</p>
</div>
<p><a class="reference external" href="https://github.com/electronstudio/raylib-python-cffi/tree/master/examples">See all examples here</a></p>
</section>
@ -7524,6 +7525,18 @@
<dd><p>Compress data (DEFLATE algorithm), memory must be MemFree()</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="pyray.compute_crc32">
<span class="sig-prename descclassname"><span class="pre">pyray.</span></span><span class="sig-name descname"><span class="pre">compute_crc32</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dataSize</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">int</span></span></span><a class="headerlink" href="#pyray.compute_crc32" title="Link to this definition"></a></dt>
<dd><p>Compute CRC32 hash code</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="pyray.compute_md5">
<span class="sig-prename descclassname"><span class="pre">pyray.</span></span><span class="sig-name descname"><span class="pre">compute_md5</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dataSize</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Any</span></span></span><a class="headerlink" href="#pyray.compute_md5" title="Link to this definition"></a></dt>
<dd><p>Compute MD5 hash code, returns static int[4] (16 bytes)</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="pyray.create_physics_body_circle">
<span class="sig-prename descclassname"><span class="pre">pyray.</span></span><span class="sig-name descname"><span class="pre">create_physics_body_circle</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pos</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#pyray.Vector2" title="pyray.Vector2"><span class="pre">Vector2</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">radius</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">density</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Any</span></span></span><a class="headerlink" href="#pyray.create_physics_body_circle" title="Link to this definition"></a></dt>
@ -10336,9 +10349,9 @@
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="pyray.is_audio_stream_ready">
<span class="sig-prename descclassname"><span class="pre">pyray.</span></span><span class="sig-name descname"><span class="pre">is_audio_stream_ready</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">stream</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#pyray.AudioStream" title="pyray.AudioStream"><span class="pre">AudioStream</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#pyray.is_audio_stream_ready" title="Link to this definition"></a></dt>
<dd><p>Checks if an audio stream is ready</p>
<dt class="sig sig-object py" id="pyray.is_audio_stream_valid">
<span class="sig-prename descclassname"><span class="pre">pyray.</span></span><span class="sig-name descname"><span class="pre">is_audio_stream_valid</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">stream</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#pyray.AudioStream" title="pyray.AudioStream"><span class="pre">AudioStream</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#pyray.is_audio_stream_valid" title="Link to this definition"></a></dt>
<dd><p>Checks if an audio stream is valid (buffers initialized)</p>
</dd></dl>
<dl class="py function">
@ -10372,9 +10385,9 @@
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="pyray.is_font_ready">
<span class="sig-prename descclassname"><span class="pre">pyray.</span></span><span class="sig-name descname"><span class="pre">is_font_ready</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">font</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#pyray.Font" title="pyray.Font"><span class="pre">Font</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#pyray.is_font_ready" title="Link to this definition"></a></dt>
<dd><p>Check if a font is ready</p>
<dt class="sig sig-object py" id="pyray.is_font_valid">
<span class="sig-prename descclassname"><span class="pre">pyray.</span></span><span class="sig-name descname"><span class="pre">is_font_valid</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">font</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#pyray.Font" title="pyray.Font"><span class="pre">Font</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#pyray.is_font_valid" title="Link to this definition"></a></dt>
<dd><p>Check if a font is valid (font data loaded, WARNING: GPU texture not checked)</p>
</dd></dl>
<dl class="py function">
@ -10414,9 +10427,9 @@
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="pyray.is_image_ready">
<span class="sig-prename descclassname"><span class="pre">pyray.</span></span><span class="sig-name descname"><span class="pre">is_image_ready</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">image</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#pyray.Image" title="pyray.Image"><span class="pre">Image</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#pyray.is_image_ready" title="Link to this definition"></a></dt>
<dd><p>Check if an image is ready</p>
<dt class="sig sig-object py" id="pyray.is_image_valid">
<span class="sig-prename descclassname"><span class="pre">pyray.</span></span><span class="sig-name descname"><span class="pre">is_image_valid</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">image</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#pyray.Image" title="pyray.Image"><span class="pre">Image</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#pyray.is_image_valid" title="Link to this definition"></a></dt>
<dd><p>Check if an image is valid (data and parameters)</p>
</dd></dl>
<dl class="py function">
@ -10450,9 +10463,9 @@
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="pyray.is_material_ready">
<span class="sig-prename descclassname"><span class="pre">pyray.</span></span><span class="sig-name descname"><span class="pre">is_material_ready</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">material</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#pyray.Material" title="pyray.Material"><span class="pre">Material</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#pyray.is_material_ready" title="Link to this definition"></a></dt>
<dd><p>Check if a material is ready</p>
<dt class="sig sig-object py" id="pyray.is_material_valid">
<span class="sig-prename descclassname"><span class="pre">pyray.</span></span><span class="sig-name descname"><span class="pre">is_material_valid</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">material</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#pyray.Material" title="pyray.Material"><span class="pre">Material</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#pyray.is_material_valid" title="Link to this definition"></a></dt>
<dd><p>Check if a material is valid (shader assigned, map textures loaded in GPU)</p>
</dd></dl>
<dl class="py function">
@ -10462,9 +10475,9 @@
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="pyray.is_model_ready">
<span class="sig-prename descclassname"><span class="pre">pyray.</span></span><span class="sig-name descname"><span class="pre">is_model_ready</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">model</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#pyray.Model" title="pyray.Model"><span class="pre">Model</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#pyray.is_model_ready" title="Link to this definition"></a></dt>
<dd><p>Check if a model is ready</p>
<dt class="sig sig-object py" id="pyray.is_model_valid">
<span class="sig-prename descclassname"><span class="pre">pyray.</span></span><span class="sig-name descname"><span class="pre">is_model_valid</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">model</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#pyray.Model" title="pyray.Model"><span class="pre">Model</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#pyray.is_model_valid" title="Link to this definition"></a></dt>
<dd><p>Check if a model is valid (loaded in GPU, VAO/VBOs)</p>
</dd></dl>
<dl class="py function">
@ -10491,18 +10504,18 @@
<dd><p>Check if a mouse button is NOT being pressed</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="pyray.is_music_ready">
<span class="sig-prename descclassname"><span class="pre">pyray.</span></span><span class="sig-name descname"><span class="pre">is_music_ready</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">music</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#pyray.Music" title="pyray.Music"><span class="pre">Music</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#pyray.is_music_ready" title="Link to this definition"></a></dt>
<dd><p>Checks if a music stream is ready</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="pyray.is_music_stream_playing">
<span class="sig-prename descclassname"><span class="pre">pyray.</span></span><span class="sig-name descname"><span class="pre">is_music_stream_playing</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">music</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#pyray.Music" title="pyray.Music"><span class="pre">Music</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#pyray.is_music_stream_playing" title="Link to this definition"></a></dt>
<dd><p>Check if music is playing</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="pyray.is_music_valid">
<span class="sig-prename descclassname"><span class="pre">pyray.</span></span><span class="sig-name descname"><span class="pre">is_music_valid</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">music</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#pyray.Music" title="pyray.Music"><span class="pre">Music</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#pyray.is_music_valid" title="Link to this definition"></a></dt>
<dd><p>Checks if a music stream is valid (context and buffers initialized)</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="pyray.is_path_file">
<span class="sig-prename descclassname"><span class="pre">pyray.</span></span><span class="sig-name descname"><span class="pre">is_path_file</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">path</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#pyray.is_path_file" title="Link to this definition"></a></dt>
@ -10510,15 +10523,15 @@
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="pyray.is_render_texture_ready">
<span class="sig-prename descclassname"><span class="pre">pyray.</span></span><span class="sig-name descname"><span class="pre">is_render_texture_ready</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">target</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#pyray.RenderTexture" title="pyray.RenderTexture"><span class="pre">RenderTexture</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#pyray.is_render_texture_ready" title="Link to this definition"></a></dt>
<dd><p>Check if a render texture is ready</p>
<dt class="sig sig-object py" id="pyray.is_render_texture_valid">
<span class="sig-prename descclassname"><span class="pre">pyray.</span></span><span class="sig-name descname"><span class="pre">is_render_texture_valid</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">target</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#pyray.RenderTexture" title="pyray.RenderTexture"><span class="pre">RenderTexture</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#pyray.is_render_texture_valid" title="Link to this definition"></a></dt>
<dd><p>Check if a render texture is valid (loaded in GPU)</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="pyray.is_shader_ready">
<span class="sig-prename descclassname"><span class="pre">pyray.</span></span><span class="sig-name descname"><span class="pre">is_shader_ready</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">shader</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#pyray.Shader" title="pyray.Shader"><span class="pre">Shader</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#pyray.is_shader_ready" title="Link to this definition"></a></dt>
<dd><p>Check if a shader is ready</p>
<dt class="sig sig-object py" id="pyray.is_shader_valid">
<span class="sig-prename descclassname"><span class="pre">pyray.</span></span><span class="sig-name descname"><span class="pre">is_shader_valid</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">shader</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#pyray.Shader" title="pyray.Shader"><span class="pre">Shader</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#pyray.is_shader_valid" title="Link to this definition"></a></dt>
<dd><p>Check if a shader is valid (loaded on GPU)</p>
</dd></dl>
<dl class="py function">
@ -10528,21 +10541,21 @@
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="pyray.is_sound_ready">
<span class="sig-prename descclassname"><span class="pre">pyray.</span></span><span class="sig-name descname"><span class="pre">is_sound_ready</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">sound</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#pyray.Sound" title="pyray.Sound"><span class="pre">Sound</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#pyray.is_sound_ready" title="Link to this definition"></a></dt>
<dd><p>Checks if a sound is ready</p>
<dt class="sig sig-object py" id="pyray.is_sound_valid">
<span class="sig-prename descclassname"><span class="pre">pyray.</span></span><span class="sig-name descname"><span class="pre">is_sound_valid</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">sound</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#pyray.Sound" title="pyray.Sound"><span class="pre">Sound</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#pyray.is_sound_valid" title="Link to this definition"></a></dt>
<dd><p>Checks if a sound is valid (data loaded and buffers initialized)</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="pyray.is_texture_ready">
<span class="sig-prename descclassname"><span class="pre">pyray.</span></span><span class="sig-name descname"><span class="pre">is_texture_ready</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">texture</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#pyray.Texture" title="pyray.Texture"><span class="pre">Texture</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#pyray.is_texture_ready" title="Link to this definition"></a></dt>
<dd><p>Check if a texture is ready</p>
<dt class="sig sig-object py" id="pyray.is_texture_valid">
<span class="sig-prename descclassname"><span class="pre">pyray.</span></span><span class="sig-name descname"><span class="pre">is_texture_valid</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">texture</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#pyray.Texture" title="pyray.Texture"><span class="pre">Texture</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#pyray.is_texture_valid" title="Link to this definition"></a></dt>
<dd><p>Check if a texture is valid (loaded in GPU)</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="pyray.is_wave_ready">
<span class="sig-prename descclassname"><span class="pre">pyray.</span></span><span class="sig-name descname"><span class="pre">is_wave_ready</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">wave</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#pyray.Wave" title="pyray.Wave"><span class="pre">Wave</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#pyray.is_wave_ready" title="Link to this definition"></a></dt>
<dd><p>Checks if wave data is ready</p>
<dt class="sig sig-object py" id="pyray.is_wave_valid">
<span class="sig-prename descclassname"><span class="pre">pyray.</span></span><span class="sig-name descname"><span class="pre">is_wave_valid</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">wave</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#pyray.Wave" title="pyray.Wave"><span class="pre">Wave</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#pyray.is_wave_valid" title="Link to this definition"></a></dt>
<dd><p>Checks if wave data is valid (data loaded and parameters)</p>
</dd></dl>
<dl class="py function">

View file

@ -163,6 +163,8 @@
<li class="toctree-l3"><a class="reference internal" href="#raylib.ColorToHSV"><code class="docutils literal notranslate"><span class="pre">ColorToHSV()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.ColorToInt"><code class="docutils literal notranslate"><span class="pre">ColorToInt()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.CompressData"><code class="docutils literal notranslate"><span class="pre">CompressData()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.ComputeCRC32"><code class="docutils literal notranslate"><span class="pre">ComputeCRC32()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.ComputeMD5"><code class="docutils literal notranslate"><span class="pre">ComputeMD5()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.ConfigFlags"><code class="docutils literal notranslate"><span class="pre">ConfigFlags</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.CreatePhysicsBodyCircle"><code class="docutils literal notranslate"><span class="pre">CreatePhysicsBodyCircle()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.CreatePhysicsBodyPolygon"><code class="docutils literal notranslate"><span class="pre">CreatePhysicsBodyPolygon()</span></code></a></li>
@ -894,41 +896,41 @@
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsAudioDeviceReady"><code class="docutils literal notranslate"><span class="pre">IsAudioDeviceReady()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsAudioStreamPlaying"><code class="docutils literal notranslate"><span class="pre">IsAudioStreamPlaying()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsAudioStreamProcessed"><code class="docutils literal notranslate"><span class="pre">IsAudioStreamProcessed()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsAudioStreamReady"><code class="docutils literal notranslate"><span class="pre">IsAudioStreamReady()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsAudioStreamValid"><code class="docutils literal notranslate"><span class="pre">IsAudioStreamValid()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsCursorHidden"><code class="docutils literal notranslate"><span class="pre">IsCursorHidden()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsCursorOnScreen"><code class="docutils literal notranslate"><span class="pre">IsCursorOnScreen()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsFileDropped"><code class="docutils literal notranslate"><span class="pre">IsFileDropped()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsFileExtension"><code class="docutils literal notranslate"><span class="pre">IsFileExtension()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsFileNameValid"><code class="docutils literal notranslate"><span class="pre">IsFileNameValid()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsFontReady"><code class="docutils literal notranslate"><span class="pre">IsFontReady()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsFontValid"><code class="docutils literal notranslate"><span class="pre">IsFontValid()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsGamepadAvailable"><code class="docutils literal notranslate"><span class="pre">IsGamepadAvailable()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsGamepadButtonDown"><code class="docutils literal notranslate"><span class="pre">IsGamepadButtonDown()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsGamepadButtonPressed"><code class="docutils literal notranslate"><span class="pre">IsGamepadButtonPressed()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsGamepadButtonReleased"><code class="docutils literal notranslate"><span class="pre">IsGamepadButtonReleased()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsGamepadButtonUp"><code class="docutils literal notranslate"><span class="pre">IsGamepadButtonUp()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsGestureDetected"><code class="docutils literal notranslate"><span class="pre">IsGestureDetected()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsImageReady"><code class="docutils literal notranslate"><span class="pre">IsImageReady()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsImageValid"><code class="docutils literal notranslate"><span class="pre">IsImageValid()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsKeyDown"><code class="docutils literal notranslate"><span class="pre">IsKeyDown()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsKeyPressed"><code class="docutils literal notranslate"><span class="pre">IsKeyPressed()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsKeyPressedRepeat"><code class="docutils literal notranslate"><span class="pre">IsKeyPressedRepeat()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsKeyReleased"><code class="docutils literal notranslate"><span class="pre">IsKeyReleased()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsKeyUp"><code class="docutils literal notranslate"><span class="pre">IsKeyUp()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsMaterialReady"><code class="docutils literal notranslate"><span class="pre">IsMaterialReady()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsMaterialValid"><code class="docutils literal notranslate"><span class="pre">IsMaterialValid()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsModelAnimationValid"><code class="docutils literal notranslate"><span class="pre">IsModelAnimationValid()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsModelReady"><code class="docutils literal notranslate"><span class="pre">IsModelReady()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsModelValid"><code class="docutils literal notranslate"><span class="pre">IsModelValid()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsMouseButtonDown"><code class="docutils literal notranslate"><span class="pre">IsMouseButtonDown()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsMouseButtonPressed"><code class="docutils literal notranslate"><span class="pre">IsMouseButtonPressed()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsMouseButtonReleased"><code class="docutils literal notranslate"><span class="pre">IsMouseButtonReleased()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsMouseButtonUp"><code class="docutils literal notranslate"><span class="pre">IsMouseButtonUp()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsMusicReady"><code class="docutils literal notranslate"><span class="pre">IsMusicReady()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsMusicStreamPlaying"><code class="docutils literal notranslate"><span class="pre">IsMusicStreamPlaying()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsMusicValid"><code class="docutils literal notranslate"><span class="pre">IsMusicValid()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsPathFile"><code class="docutils literal notranslate"><span class="pre">IsPathFile()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsRenderTextureReady"><code class="docutils literal notranslate"><span class="pre">IsRenderTextureReady()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsShaderReady"><code class="docutils literal notranslate"><span class="pre">IsShaderReady()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsRenderTextureValid"><code class="docutils literal notranslate"><span class="pre">IsRenderTextureValid()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsShaderValid"><code class="docutils literal notranslate"><span class="pre">IsShaderValid()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsSoundPlaying"><code class="docutils literal notranslate"><span class="pre">IsSoundPlaying()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsSoundReady"><code class="docutils literal notranslate"><span class="pre">IsSoundReady()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsTextureReady"><code class="docutils literal notranslate"><span class="pre">IsTextureReady()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsWaveReady"><code class="docutils literal notranslate"><span class="pre">IsWaveReady()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsSoundValid"><code class="docutils literal notranslate"><span class="pre">IsSoundValid()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsTextureValid"><code class="docutils literal notranslate"><span class="pre">IsTextureValid()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsWaveValid"><code class="docutils literal notranslate"><span class="pre">IsWaveValid()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsWindowFocused"><code class="docutils literal notranslate"><span class="pre">IsWindowFocused()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsWindowFullscreen"><code class="docutils literal notranslate"><span class="pre">IsWindowFullscreen()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#raylib.IsWindowHidden"><code class="docutils literal notranslate"><span class="pre">IsWindowHidden()</span></code></a></li>
@ -2667,6 +2669,18 @@ are very, very similar to the C originals.</p>
<dd><p>Compress data (DEFLATE algorithm), memory must be MemFree()</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="raylib.ComputeCRC32">
<span class="sig-prename descclassname"><span class="pre">raylib.</span></span><span class="sig-name descname"><span class="pre">ComputeCRC32</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dataSize</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">int</span></span></span><a class="headerlink" href="#raylib.ComputeCRC32" title="Link to this definition"></a></dt>
<dd><p>Compute CRC32 hash code</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="raylib.ComputeMD5">
<span class="sig-prename descclassname"><span class="pre">raylib.</span></span><span class="sig-name descname"><span class="pre">ComputeMD5</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dataSize</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Any</span></span></span><a class="headerlink" href="#raylib.ComputeMD5" title="Link to this definition"></a></dt>
<dd><p>Compute MD5 hash code, returns static int[4] (16 bytes)</p>
</dd></dl>
<dl class="py data">
<dt class="sig sig-object py" id="raylib.ConfigFlags">
<span class="sig-prename descclassname"><span class="pre">raylib.</span></span><span class="sig-name descname"><span class="pre">ConfigFlags</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">int</span></em><a class="headerlink" href="#raylib.ConfigFlags" title="Link to this definition"></a></dt>
@ -6687,9 +6701,9 @@ are very, very similar to the C originals.</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="raylib.IsAudioStreamReady">
<span class="sig-prename descclassname"><span class="pre">raylib.</span></span><span class="sig-name descname"><span class="pre">IsAudioStreamReady</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">stream</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="pyray.html#pyray.AudioStream" title="pyray.AudioStream"><span class="pre">AudioStream</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#raylib.IsAudioStreamReady" title="Link to this definition"></a></dt>
<dd><p>Checks if an audio stream is ready</p>
<dt class="sig sig-object py" id="raylib.IsAudioStreamValid">
<span class="sig-prename descclassname"><span class="pre">raylib.</span></span><span class="sig-name descname"><span class="pre">IsAudioStreamValid</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">stream</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="pyray.html#pyray.AudioStream" title="pyray.AudioStream"><span class="pre">AudioStream</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#raylib.IsAudioStreamValid" title="Link to this definition"></a></dt>
<dd><p>Checks if an audio stream is valid (buffers initialized)</p>
</dd></dl>
<dl class="py function">
@ -6723,9 +6737,9 @@ are very, very similar to the C originals.</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="raylib.IsFontReady">
<span class="sig-prename descclassname"><span class="pre">raylib.</span></span><span class="sig-name descname"><span class="pre">IsFontReady</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">font</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="pyray.html#pyray.Font" title="pyray.Font"><span class="pre">Font</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#raylib.IsFontReady" title="Link to this definition"></a></dt>
<dd><p>Check if a font is ready</p>
<dt class="sig sig-object py" id="raylib.IsFontValid">
<span class="sig-prename descclassname"><span class="pre">raylib.</span></span><span class="sig-name descname"><span class="pre">IsFontValid</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">font</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="pyray.html#pyray.Font" title="pyray.Font"><span class="pre">Font</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#raylib.IsFontValid" title="Link to this definition"></a></dt>
<dd><p>Check if a font is valid (font data loaded, WARNING: GPU texture not checked)</p>
</dd></dl>
<dl class="py function">
@ -6765,9 +6779,9 @@ are very, very similar to the C originals.</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="raylib.IsImageReady">
<span class="sig-prename descclassname"><span class="pre">raylib.</span></span><span class="sig-name descname"><span class="pre">IsImageReady</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">image</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="pyray.html#pyray.Image" title="pyray.Image"><span class="pre">Image</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#raylib.IsImageReady" title="Link to this definition"></a></dt>
<dd><p>Check if an image is ready</p>
<dt class="sig sig-object py" id="raylib.IsImageValid">
<span class="sig-prename descclassname"><span class="pre">raylib.</span></span><span class="sig-name descname"><span class="pre">IsImageValid</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">image</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="pyray.html#pyray.Image" title="pyray.Image"><span class="pre">Image</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#raylib.IsImageValid" title="Link to this definition"></a></dt>
<dd><p>Check if an image is valid (data and parameters)</p>
</dd></dl>
<dl class="py function">
@ -6801,9 +6815,9 @@ are very, very similar to the C originals.</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="raylib.IsMaterialReady">
<span class="sig-prename descclassname"><span class="pre">raylib.</span></span><span class="sig-name descname"><span class="pre">IsMaterialReady</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">material</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="pyray.html#pyray.Material" title="pyray.Material"><span class="pre">Material</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#raylib.IsMaterialReady" title="Link to this definition"></a></dt>
<dd><p>Check if a material is ready</p>
<dt class="sig sig-object py" id="raylib.IsMaterialValid">
<span class="sig-prename descclassname"><span class="pre">raylib.</span></span><span class="sig-name descname"><span class="pre">IsMaterialValid</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">material</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="pyray.html#pyray.Material" title="pyray.Material"><span class="pre">Material</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#raylib.IsMaterialValid" title="Link to this definition"></a></dt>
<dd><p>Check if a material is valid (shader assigned, map textures loaded in GPU)</p>
</dd></dl>
<dl class="py function">
@ -6813,9 +6827,9 @@ are very, very similar to the C originals.</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="raylib.IsModelReady">
<span class="sig-prename descclassname"><span class="pre">raylib.</span></span><span class="sig-name descname"><span class="pre">IsModelReady</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">model</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="pyray.html#pyray.Model" title="pyray.Model"><span class="pre">Model</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#raylib.IsModelReady" title="Link to this definition"></a></dt>
<dd><p>Check if a model is ready</p>
<dt class="sig sig-object py" id="raylib.IsModelValid">
<span class="sig-prename descclassname"><span class="pre">raylib.</span></span><span class="sig-name descname"><span class="pre">IsModelValid</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">model</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="pyray.html#pyray.Model" title="pyray.Model"><span class="pre">Model</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#raylib.IsModelValid" title="Link to this definition"></a></dt>
<dd><p>Check if a model is valid (loaded in GPU, VAO/VBOs)</p>
</dd></dl>
<dl class="py function">
@ -6842,18 +6856,18 @@ are very, very similar to the C originals.</p>
<dd><p>Check if a mouse button is NOT being pressed</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="raylib.IsMusicReady">
<span class="sig-prename descclassname"><span class="pre">raylib.</span></span><span class="sig-name descname"><span class="pre">IsMusicReady</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">music</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="pyray.html#pyray.Music" title="pyray.Music"><span class="pre">Music</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#raylib.IsMusicReady" title="Link to this definition"></a></dt>
<dd><p>Checks if a music stream is ready</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="raylib.IsMusicStreamPlaying">
<span class="sig-prename descclassname"><span class="pre">raylib.</span></span><span class="sig-name descname"><span class="pre">IsMusicStreamPlaying</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">music</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="pyray.html#pyray.Music" title="pyray.Music"><span class="pre">Music</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#raylib.IsMusicStreamPlaying" title="Link to this definition"></a></dt>
<dd><p>Check if music is playing</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="raylib.IsMusicValid">
<span class="sig-prename descclassname"><span class="pre">raylib.</span></span><span class="sig-name descname"><span class="pre">IsMusicValid</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">music</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="pyray.html#pyray.Music" title="pyray.Music"><span class="pre">Music</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#raylib.IsMusicValid" title="Link to this definition"></a></dt>
<dd><p>Checks if a music stream is valid (context and buffers initialized)</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="raylib.IsPathFile">
<span class="sig-prename descclassname"><span class="pre">raylib.</span></span><span class="sig-name descname"><span class="pre">IsPathFile</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">path</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#raylib.IsPathFile" title="Link to this definition"></a></dt>
@ -6861,15 +6875,15 @@ are very, very similar to the C originals.</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="raylib.IsRenderTextureReady">
<span class="sig-prename descclassname"><span class="pre">raylib.</span></span><span class="sig-name descname"><span class="pre">IsRenderTextureReady</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">target</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="pyray.html#pyray.RenderTexture" title="pyray.RenderTexture"><span class="pre">RenderTexture</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#raylib.IsRenderTextureReady" title="Link to this definition"></a></dt>
<dd><p>Check if a render texture is ready</p>
<dt class="sig sig-object py" id="raylib.IsRenderTextureValid">
<span class="sig-prename descclassname"><span class="pre">raylib.</span></span><span class="sig-name descname"><span class="pre">IsRenderTextureValid</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">target</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="pyray.html#pyray.RenderTexture" title="pyray.RenderTexture"><span class="pre">RenderTexture</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#raylib.IsRenderTextureValid" title="Link to this definition"></a></dt>
<dd><p>Check if a render texture is valid (loaded in GPU)</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="raylib.IsShaderReady">
<span class="sig-prename descclassname"><span class="pre">raylib.</span></span><span class="sig-name descname"><span class="pre">IsShaderReady</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">shader</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="pyray.html#pyray.Shader" title="pyray.Shader"><span class="pre">Shader</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#raylib.IsShaderReady" title="Link to this definition"></a></dt>
<dd><p>Check if a shader is ready</p>
<dt class="sig sig-object py" id="raylib.IsShaderValid">
<span class="sig-prename descclassname"><span class="pre">raylib.</span></span><span class="sig-name descname"><span class="pre">IsShaderValid</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">shader</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="pyray.html#pyray.Shader" title="pyray.Shader"><span class="pre">Shader</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#raylib.IsShaderValid" title="Link to this definition"></a></dt>
<dd><p>Check if a shader is valid (loaded on GPU)</p>
</dd></dl>
<dl class="py function">
@ -6879,21 +6893,21 @@ are very, very similar to the C originals.</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="raylib.IsSoundReady">
<span class="sig-prename descclassname"><span class="pre">raylib.</span></span><span class="sig-name descname"><span class="pre">IsSoundReady</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">sound</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="pyray.html#pyray.Sound" title="pyray.Sound"><span class="pre">Sound</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#raylib.IsSoundReady" title="Link to this definition"></a></dt>
<dd><p>Checks if a sound is ready</p>
<dt class="sig sig-object py" id="raylib.IsSoundValid">
<span class="sig-prename descclassname"><span class="pre">raylib.</span></span><span class="sig-name descname"><span class="pre">IsSoundValid</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">sound</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="pyray.html#pyray.Sound" title="pyray.Sound"><span class="pre">Sound</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#raylib.IsSoundValid" title="Link to this definition"></a></dt>
<dd><p>Checks if a sound is valid (data loaded and buffers initialized)</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="raylib.IsTextureReady">
<span class="sig-prename descclassname"><span class="pre">raylib.</span></span><span class="sig-name descname"><span class="pre">IsTextureReady</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">texture</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="pyray.html#pyray.Texture" title="pyray.Texture"><span class="pre">Texture</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#raylib.IsTextureReady" title="Link to this definition"></a></dt>
<dd><p>Check if a texture is ready</p>
<dt class="sig sig-object py" id="raylib.IsTextureValid">
<span class="sig-prename descclassname"><span class="pre">raylib.</span></span><span class="sig-name descname"><span class="pre">IsTextureValid</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">texture</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="pyray.html#pyray.Texture" title="pyray.Texture"><span class="pre">Texture</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#raylib.IsTextureValid" title="Link to this definition"></a></dt>
<dd><p>Check if a texture is valid (loaded in GPU)</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="raylib.IsWaveReady">
<span class="sig-prename descclassname"><span class="pre">raylib.</span></span><span class="sig-name descname"><span class="pre">IsWaveReady</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">wave</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="pyray.html#pyray.Wave" title="pyray.Wave"><span class="pre">Wave</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#raylib.IsWaveReady" title="Link to this definition"></a></dt>
<dd><p>Checks if wave data is ready</p>
<dt class="sig sig-object py" id="raylib.IsWaveValid">
<span class="sig-prename descclassname"><span class="pre">raylib.</span></span><span class="sig-name descname"><span class="pre">IsWaveValid</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">wave</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="pyray.html#pyray.Wave" title="pyray.Wave"><span class="pre">Wave</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#raylib.IsWaveValid" title="Link to this definition"></a></dt>
<dd><p>Checks if wave data is valid (data loaded and parameters)</p>
</dd></dl>
<dl class="py function">

File diff suppressed because one or more lines are too long

View file

@ -134,6 +134,12 @@ def color_to_int(color: Color,) -> int:
def compress_data(data: str,dataSize: int,compDataSize: Any,) -> str:
"""Compress data (DEFLATE algorithm), memory must be MemFree()"""
...
def compute_crc32(data: str,dataSize: int,) -> int:
"""Compute CRC32 hash code"""
...
def compute_md5(data: str,dataSize: int,) -> Any:
"""Compute MD5 hash code, returns static int[4] (16 bytes)"""
...
def create_physics_body_circle(pos: Vector2,radius: float,density: float,) -> Any:
"""Creates a new circle physics body with generic parameters"""
...
@ -1229,8 +1235,8 @@ def is_audio_stream_playing(stream: AudioStream,) -> bool:
def is_audio_stream_processed(stream: AudioStream,) -> bool:
"""Check if any audio stream buffers requires refill"""
...
def is_audio_stream_ready(stream: AudioStream,) -> bool:
"""Checks if an audio stream is ready"""
def is_audio_stream_valid(stream: AudioStream,) -> bool:
"""Checks if an audio stream is valid (buffers initialized)"""
...
def is_cursor_hidden() -> bool:
"""Check if cursor is not visible"""
@ -1247,8 +1253,8 @@ def is_file_extension(fileName: str,ext: str,) -> bool:
def is_file_name_valid(fileName: str,) -> bool:
"""Check if fileName is valid for the platform/OS"""
...
def is_font_ready(font: Font,) -> bool:
"""Check if a font is ready"""
def is_font_valid(font: Font,) -> bool:
"""Check if a font is valid (font data loaded, WARNING: GPU texture not checked)"""
...
def is_gamepad_available(gamepad: int,) -> bool:
"""Check if a gamepad is available"""
@ -1268,8 +1274,8 @@ def is_gamepad_button_up(gamepad: int,button: int,) -> bool:
def is_gesture_detected(gesture: int,) -> bool:
"""Check if a gesture have been detected"""
...
def is_image_ready(image: Image,) -> bool:
"""Check if an image is ready"""
def is_image_valid(image: Image,) -> bool:
"""Check if an image is valid (data and parameters)"""
...
def is_key_down(key: int,) -> bool:
"""Check if a key is being pressed"""
@ -1286,14 +1292,14 @@ def is_key_released(key: int,) -> bool:
def is_key_up(key: int,) -> bool:
"""Check if a key is NOT being pressed"""
...
def is_material_ready(material: Material,) -> bool:
"""Check if a material is ready"""
def is_material_valid(material: Material,) -> bool:
"""Check if a material is valid (shader assigned, map textures loaded in GPU)"""
...
def is_model_animation_valid(model: Model,anim: ModelAnimation,) -> bool:
"""Check model animation skeleton match"""
...
def is_model_ready(model: Model,) -> bool:
"""Check if a model is ready"""
def is_model_valid(model: Model,) -> bool:
"""Check if a model is valid (loaded in GPU, VAO/VBOs)"""
...
def is_mouse_button_down(button: int,) -> bool:
"""Check if a mouse button is being pressed"""
@ -1307,32 +1313,32 @@ def is_mouse_button_released(button: int,) -> bool:
def is_mouse_button_up(button: int,) -> bool:
"""Check if a mouse button is NOT being pressed"""
...
def is_music_ready(music: Music,) -> bool:
"""Checks if a music stream is ready"""
...
def is_music_stream_playing(music: Music,) -> bool:
"""Check if music is playing"""
...
def is_music_valid(music: Music,) -> bool:
"""Checks if a music stream is valid (context and buffers initialized)"""
...
def is_path_file(path: str,) -> bool:
"""Check if a given path is a file or a directory"""
...
def is_render_texture_ready(target: RenderTexture,) -> bool:
"""Check if a render texture is ready"""
def is_render_texture_valid(target: RenderTexture,) -> bool:
"""Check if a render texture is valid (loaded in GPU)"""
...
def is_shader_ready(shader: Shader,) -> bool:
"""Check if a shader is ready"""
def is_shader_valid(shader: Shader,) -> bool:
"""Check if a shader is valid (loaded on GPU)"""
...
def is_sound_playing(sound: Sound,) -> bool:
"""Check if a sound is currently playing"""
...
def is_sound_ready(sound: Sound,) -> bool:
"""Checks if a sound is ready"""
def is_sound_valid(sound: Sound,) -> bool:
"""Checks if a sound is valid (data loaded and buffers initialized)"""
...
def is_texture_ready(texture: Texture,) -> bool:
"""Check if a texture is ready"""
def is_texture_valid(texture: Texture,) -> bool:
"""Check if a texture is valid (loaded in GPU)"""
...
def is_wave_ready(wave: Wave,) -> bool:
"""Checks if wave data is ready"""
def is_wave_valid(wave: Wave,) -> bool:
"""Checks if wave data is valid (data loaded and parameters)"""
...
def is_window_focused() -> bool:
"""Check if window is currently focused (only PLATFORM_DESKTOP)"""

@ -1 +1 @@
Subproject commit c9c830cb971d7aa744fe3c7444b768ccd5176c4c
Subproject commit a2e31c4e1ba7b2ab0c4b87c70e88fa365b02f652

View file

@ -182,6 +182,12 @@ def ColorToInt(color: Color,) -> int:
def CompressData(data: str,dataSize: int,compDataSize: Any,) -> str:
"""Compress data (DEFLATE algorithm), memory must be MemFree()"""
...
def ComputeCRC32(data: str,dataSize: int,) -> int:
"""Compute CRC32 hash code"""
...
def ComputeMD5(data: str,dataSize: int,) -> Any:
"""Compute MD5 hash code, returns static int[4] (16 bytes)"""
...
def CreatePhysicsBodyCircle(pos: Vector2,radius: float,density: float,) -> Any:
"""Creates a new circle physics body with generic parameters"""
...
@ -1597,8 +1603,8 @@ def IsAudioStreamPlaying(stream: AudioStream,) -> bool:
def IsAudioStreamProcessed(stream: AudioStream,) -> bool:
"""Check if any audio stream buffers requires refill"""
...
def IsAudioStreamReady(stream: AudioStream,) -> bool:
"""Checks if an audio stream is ready"""
def IsAudioStreamValid(stream: AudioStream,) -> bool:
"""Checks if an audio stream is valid (buffers initialized)"""
...
def IsCursorHidden() -> bool:
"""Check if cursor is not visible"""
@ -1615,8 +1621,8 @@ def IsFileExtension(fileName: str,ext: str,) -> bool:
def IsFileNameValid(fileName: str,) -> bool:
"""Check if fileName is valid for the platform/OS"""
...
def IsFontReady(font: Font,) -> bool:
"""Check if a font is ready"""
def IsFontValid(font: Font,) -> bool:
"""Check if a font is valid (font data loaded, WARNING: GPU texture not checked)"""
...
def IsGamepadAvailable(gamepad: int,) -> bool:
"""Check if a gamepad is available"""
@ -1636,8 +1642,8 @@ def IsGamepadButtonUp(gamepad: int,button: int,) -> bool:
def IsGestureDetected(gesture: int,) -> bool:
"""Check if a gesture have been detected"""
...
def IsImageReady(image: Image,) -> bool:
"""Check if an image is ready"""
def IsImageValid(image: Image,) -> bool:
"""Check if an image is valid (data and parameters)"""
...
def IsKeyDown(key: int,) -> bool:
"""Check if a key is being pressed"""
@ -1654,14 +1660,14 @@ def IsKeyReleased(key: int,) -> bool:
def IsKeyUp(key: int,) -> bool:
"""Check if a key is NOT being pressed"""
...
def IsMaterialReady(material: Material,) -> bool:
"""Check if a material is ready"""
def IsMaterialValid(material: Material,) -> bool:
"""Check if a material is valid (shader assigned, map textures loaded in GPU)"""
...
def IsModelAnimationValid(model: Model,anim: ModelAnimation,) -> bool:
"""Check model animation skeleton match"""
...
def IsModelReady(model: Model,) -> bool:
"""Check if a model is ready"""
def IsModelValid(model: Model,) -> bool:
"""Check if a model is valid (loaded in GPU, VAO/VBOs)"""
...
def IsMouseButtonDown(button: int,) -> bool:
"""Check if a mouse button is being pressed"""
@ -1675,32 +1681,32 @@ def IsMouseButtonReleased(button: int,) -> bool:
def IsMouseButtonUp(button: int,) -> bool:
"""Check if a mouse button is NOT being pressed"""
...
def IsMusicReady(music: Music,) -> bool:
"""Checks if a music stream is ready"""
...
def IsMusicStreamPlaying(music: Music,) -> bool:
"""Check if music is playing"""
...
def IsMusicValid(music: Music,) -> bool:
"""Checks if a music stream is valid (context and buffers initialized)"""
...
def IsPathFile(path: str,) -> bool:
"""Check if a given path is a file or a directory"""
...
def IsRenderTextureReady(target: RenderTexture,) -> bool:
"""Check if a render texture is ready"""
def IsRenderTextureValid(target: RenderTexture,) -> bool:
"""Check if a render texture is valid (loaded in GPU)"""
...
def IsShaderReady(shader: Shader,) -> bool:
"""Check if a shader is ready"""
def IsShaderValid(shader: Shader,) -> bool:
"""Check if a shader is valid (loaded on GPU)"""
...
def IsSoundPlaying(sound: Sound,) -> bool:
"""Check if a sound is currently playing"""
...
def IsSoundReady(sound: Sound,) -> bool:
"""Checks if a sound is ready"""
def IsSoundValid(sound: Sound,) -> bool:
"""Checks if a sound is valid (data loaded and buffers initialized)"""
...
def IsTextureReady(texture: Texture,) -> bool:
"""Check if a texture is ready"""
def IsTextureValid(texture: Texture,) -> bool:
"""Check if a texture is valid (loaded in GPU)"""
...
def IsWaveReady(wave: Wave,) -> bool:
"""Checks if wave data is ready"""
def IsWaveValid(wave: Wave,) -> bool:
"""Checks if wave data is valid (data loaded and parameters)"""
...
def IsWindowFocused() -> bool:
"""Check if window is currently focused (only PLATFORM_DESKTOP)"""

View file

@ -849,7 +849,7 @@ typedef bool (*SaveFileTextCallback)(const char *fileName, char *text); // FileI
// NOTE: Shader functionality is not available on OpenGL 1.1
Shader LoadShader(const char *vsFileName, const char *fsFileName); // Load shader from files and bind default locations
Shader LoadShaderFromMemory(const char *vsCode, const char *fsCode); // Load shader from code strings and bind default locations
bool IsShaderReady(Shader shader); // Check if a shader is ready
bool IsShaderValid(Shader shader); // Check if a shader is valid (loaded on GPU)
int GetShaderLocation(Shader shader, const char *uniformName); // Get shader uniform location
int GetShaderLocationAttrib(Shader shader, const char *attribName); // Get shader attribute location
void SetShaderValue(Shader shader, int locIndex, const void *value, int uniformType); // Set shader uniform value
@ -938,6 +938,8 @@ typedef bool (*SaveFileTextCallback)(const char *fileName, char *text); // FileI
unsigned char *DecompressData(const unsigned char *compData, int compDataSize, int *dataSize); // Decompress data (DEFLATE algorithm), memory must be MemFree()
char *EncodeDataBase64(const unsigned char *data, int dataSize, int *outputSize); // Encode data to Base64 string, memory must be MemFree()
unsigned char *DecodeDataBase64(const unsigned char *data, int *outputSize); // Decode Base64 string data, memory must be MemFree()
unsigned int ComputeCRC32(unsigned char *data, int dataSize); // Compute CRC32 hash code
unsigned int *ComputeMD5(unsigned char *data, int dataSize); // Compute MD5 hash code, returns static int[4] (16 bytes)
// Automation events functionality
AutomationEventList LoadAutomationEventList(const char *fileName); // Load automation events list from file, NULL for empty list, capacity = MAX_AUTOMATION_EVENTS
void UnloadAutomationEventList(AutomationEventList list); // Unload automation events list from file
@ -1096,7 +1098,7 @@ typedef bool (*SaveFileTextCallback)(const char *fileName, char *text); // FileI
Image LoadImageFromMemory(const char *fileType, const unsigned char *fileData, int dataSize); // Load image from memory buffer, fileType refers to extension: i.e. '.png'
Image LoadImageFromTexture(Texture2D texture); // Load image from GPU texture data
Image LoadImageFromScreen(void); // Load image from screen buffer and (screenshot)
bool IsImageReady(Image image); // Check if an image is ready
bool IsImageValid(Image image); // Check if an image is valid (data and parameters)
void UnloadImage(Image image); // Unload image from CPU memory (RAM)
bool ExportImage(Image image, const char *fileName); // Export image data to file, returns true on success
unsigned char *ExportImageToMemory(Image image, const char *fileType, int *fileSize); // Export image to memory buffer
@ -1178,9 +1180,9 @@ typedef bool (*SaveFileTextCallback)(const char *fileName, char *text); // FileI
Texture2D LoadTextureFromImage(Image image); // Load texture from image data
TextureCubemap LoadTextureCubemap(Image image, int layout); // Load cubemap from image, multiple image cubemap layouts supported
RenderTexture2D LoadRenderTexture(int width, int height); // Load texture for rendering (framebuffer)
bool IsTextureReady(Texture2D texture); // Check if a texture is ready
bool IsTextureValid(Texture2D texture); // Check if a texture is valid (loaded in GPU)
void UnloadTexture(Texture2D texture); // Unload texture from GPU memory (VRAM)
bool IsRenderTextureReady(RenderTexture2D target); // Check if a render texture is ready
bool IsRenderTextureValid(RenderTexture2D target); // Check if a render texture is valid (loaded in GPU)
void UnloadRenderTexture(RenderTexture2D target); // Unload render texture from GPU memory (VRAM)
void UpdateTexture(Texture2D texture, const void *pixels); // Update GPU texture with new data
void UpdateTextureRec(Texture2D texture, Rectangle rec, const void *pixels); // Update GPU texture rectangle with new data
@ -1222,7 +1224,7 @@ typedef bool (*SaveFileTextCallback)(const char *fileName, char *text); // FileI
Font LoadFontEx(const char *fileName, int fontSize, int *codepoints, int codepointCount); // Load font from file with extended parameters, use NULL for codepoints and 0 for codepointCount to load the default character set, font size is provided in pixels height
Font LoadFontFromImage(Image image, Color key, int firstChar); // Load font from Image (XNA style)
Font LoadFontFromMemory(const char *fileType, const unsigned char *fileData, int dataSize, int fontSize, int *codepoints, int codepointCount); // Load font from memory buffer, fileType refers to extension: i.e. '.ttf'
bool IsFontReady(Font font); // Check if a font is ready
bool IsFontValid(Font font); // Check if a font is valid (font data loaded, WARNING: GPU texture not checked)
GlyphInfo *LoadFontData(const unsigned char *fileData, int dataSize, int fontSize, int *codepoints, int codepointCount, int type); // Load font data for further use
Image GenImageFontAtlas(const GlyphInfo *glyphs, Rectangle **glyphRecs, int glyphCount, int fontSize, int padding, int packMethod); // Generate image font atlas using chars info
void UnloadFontData(GlyphInfo *glyphs, int glyphCount); // Unload font chars info data (RAM)
@ -1303,7 +1305,7 @@ typedef bool (*SaveFileTextCallback)(const char *fileName, char *text); // FileI
// Model management functions
Model LoadModel(const char *fileName); // Load model from files (meshes and materials)
Model LoadModelFromMesh(Mesh mesh); // Load model from generated mesh (default material)
bool IsModelReady(Model model); // Check if a model is ready
bool IsModelValid(Model model); // Check if a model is valid (loaded in GPU, VAO/VBOs)
void UnloadModel(Model model); // Unload model (including meshes) from memory (RAM and/or VRAM)
BoundingBox GetModelBoundingBox(Model model); // Compute model bounding box limits (considers all meshes)
// Model drawing functions
@ -1342,7 +1344,7 @@ typedef bool (*SaveFileTextCallback)(const char *fileName, char *text); // FileI
// Material loading/unloading functions
Material *LoadMaterials(const char *fileName, int *materialCount); // Load materials from model file
Material LoadMaterialDefault(void); // Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps)
bool IsMaterialReady(Material material); // Check if a material is ready
bool IsMaterialValid(Material material); // Check if a material is valid (shader assigned, map textures loaded in GPU)
void UnloadMaterial(Material material); // Unload material from GPU memory (VRAM)
void SetMaterialTexture(Material *material, int mapType, Texture2D texture); // Set texture for a material map type (MATERIAL_MAP_DIFFUSE, MATERIAL_MAP_SPECULAR...)
void SetModelMeshMaterial(Model *model, int meshId, int materialId); // Set material for a mesh
@ -1375,11 +1377,11 @@ typedef void (*AudioCallback)(void *bufferData, unsigned int frames);
// Wave/Sound loading/unloading functions
Wave LoadWave(const char *fileName); // Load wave data from file
Wave LoadWaveFromMemory(const char *fileType, const unsigned char *fileData, int dataSize); // Load wave from memory buffer, fileType refers to extension: i.e. '.wav'
bool IsWaveReady(Wave wave); // Checks if wave data is ready
bool IsWaveValid(Wave wave); // Checks if wave data is valid (data loaded and parameters)
Sound LoadSound(const char *fileName); // Load sound from file
Sound LoadSoundFromWave(Wave wave); // Load sound from wave data
Sound LoadSoundAlias(Sound source); // Create a new sound that shares the same sample data as the source sound, does not own the sound data
bool IsSoundReady(Sound sound); // Checks if a sound is ready
bool IsSoundValid(Sound sound); // Checks if a sound is valid (data loaded and buffers initialized)
void UpdateSound(Sound sound, const void *data, int sampleCount); // Update sound buffer with new data
void UnloadWave(Wave wave); // Unload wave data
void UnloadSound(Sound sound); // Unload sound
@ -1403,7 +1405,7 @@ typedef void (*AudioCallback)(void *bufferData, unsigned int frames);
// Music management functions
Music LoadMusicStream(const char *fileName); // Load music stream from file
Music LoadMusicStreamFromMemory(const char *fileType, const unsigned char *data, int dataSize); // Load music stream from data
bool IsMusicReady(Music music); // Checks if a music stream is ready
bool IsMusicValid(Music music); // Checks if a music stream is valid (context and buffers initialized)
void UnloadMusicStream(Music music); // Unload music stream
void PlayMusicStream(Music music); // Start music playing
bool IsMusicStreamPlaying(Music music); // Check if music is playing
@ -1419,7 +1421,7 @@ typedef void (*AudioCallback)(void *bufferData, unsigned int frames);
float GetMusicTimePlayed(Music music); // Get current music time played (in seconds)
// AudioStream management functions
AudioStream LoadAudioStream(unsigned int sampleRate, unsigned int sampleSize, unsigned int channels); // Load audio stream (to stream raw audio pcm data)
bool IsAudioStreamReady(AudioStream stream); // Checks if an audio stream is ready
bool IsAudioStreamValid(AudioStream stream); // Checks if an audio stream is valid (buffers initialized)
void UnloadAudioStream(AudioStream stream); // Unload audio stream and free memory
void UpdateAudioStream(AudioStream stream, const void *data, int frameCount); // Update audio stream buffers with data
bool IsAudioStreamProcessed(AudioStream stream); // Check if any audio stream buffers requires refill