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 ## Libraries: raymath, raygui, rlgl, physac and GLFW
## Backends: Desktop, SDL, DRM, Web ## 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. New CFFI API static bindings.
* Automatically generated to be as close as possible to * Automatically generated to be as close as possible to
@ -39,7 +39,8 @@ Then install
python3 -m pip install setuptools python3 -m pip install setuptools
python3 -m pip install raylib==5.0.0.4 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. using homebrew, apt, etc.
## Windows ## 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. 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.) (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. so may not work on other boards.
## Raspberry Pi ## Raspberry Pi
@ -79,6 +80,7 @@ so may not work on other boards.
There is now a separate dynamic version of this binding: There is now a separate dynamic version of this binding:
python3 -m pip uninstall raylib
python3 -m pip install raylib_dynamic 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) 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) 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. 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). If it still doesn't work, [submit an issue](https://github.com/electronstudio/raylib-python-cffi/issues).
# How to use # 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 ### 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 # Running in a web browser

View file

@ -56,7 +56,6 @@ Example program:
init_window(800, 450, "Raylib texture test") 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>`_ `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 <p>If the Pip build doesnt work, please submit a bug. (And if you have
fixed it, a PR.)</p> fixed it, a PR.)</p>
</div> </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> 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"> <section id="windows-manual-build">
<h3>Windows manual build<a class="headerlink" href="#windows-manual-build" title="Link to this heading"></a></h3> <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>
<li class="toctree-l1"><a class="reference internal" href="#how-to-use">How to use</a><ul> <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-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> </ul>
</li> </li>
<li class="toctree-l1"><a class="reference internal" href="#running-in-a-web-browser">Running in a web browser</a></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>
<section id="backends-desktop-sdl-drm-web"> <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> <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> <p>New CFFI API static bindings.</p>
<ul class="simple"> <ul class="simple">
<li><p>Automatically generated to be as close as possible to <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 python3 -m pip install raylib==5.0.0.4
</pre></div> </pre></div>
</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> using homebrew, apt, etc.</p>
<section id="windows"> <section id="windows">
<h2>Windows<a class="headerlink" href="#windows" title="Link to this heading"></a></h2> <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>
<section id="macos"> <section id="macos">
<h2>MacOS<a class="headerlink" href="#macos" title="Link to this heading"></a></h2> <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> <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 <div class="highlight-none notranslate"><div class="highlight"><pre><span></span>brew install pkg-config
brew install raylib brew install raylib
python3 -m pip install raylib==5.0.0.4 python3 -m pip install raylib==5.0.0.4
</pre></div> </pre></div>
</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>
<section id="linux"> <section id="linux">
<h2>Linux<a class="headerlink" href="#linux" title="Link to this heading"></a></h2> <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. <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> (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> so may not work on other boards.</p>
</section> </section>
<section id="raspberry-pi"> <section id="raspberry-pi">
@ -184,7 +191,8 @@ so may not work on other boards.</p>
<section id="dynamic-binding-version"> <section id="dynamic-binding-version">
<h2>Dynamic binding version<a class="headerlink" href="#dynamic-binding-version" title="Link to this heading"></a></h2> <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> <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> </pre></div>
</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> <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 python3 -m pip install raylib_sdl
</pre></div> </pre></div>
</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>
<section id="drm-backend"> <section id="drm-backend">
<h2>DRM backend<a class="headerlink" href="#drm-backend" title="Link to this heading"></a></h2> <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 python3 -m pip install raylib_drm
</pre></div> </pre></div>
</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>
<section id="problems"> <section id="problems">
<h2>Problems?<a class="headerlink" href="#problems" title="Link to this heading"></a></h2> <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> <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> 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> <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> </section>
<section id="how-to-use"> <section id="how-to-use">
<h1>How to use<a class="headerlink" href="#how-to-use" title="Link to this heading"></a></h1> <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"> <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> <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>
<section id="if-you-prefer-a-slightly-more-pythonistic-api-and-don-t-mind-it-might-be-slightly-slower"> <section id="if-you-prefer-a-more-pythonistic-api">
<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> <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 Python API</a>.</p> <p>Use <a class="reference external" href="https://electronstudio.github.io/raylib-python-cffi/pyray.html">the pyray module</a>.</p>
</section> </section>
</section> </section>
<section id="running-in-a-web-browser"> <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 If the Pip build doesnt work, please submit a bug. (And if you have
fixed it, a PR.) 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 at https://github.com/electronstudio/raylib-python-cffi/blob/master/.github/workflows/build.yml
Windows manual build Windows manual build

View file

@ -2,7 +2,7 @@
## Libraries: raymath, raygui, rlgl, physac and GLFW ## Libraries: raymath, raygui, rlgl, physac and GLFW
## Backends: Desktop, SDL, DRM, Web ## 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. New CFFI API static bindings.
* Automatically generated to be as close as possible to * Automatically generated to be as close as possible to
@ -39,7 +39,8 @@ Then install
python3 -m pip install setuptools python3 -m pip install setuptools
python3 -m pip install raylib==5.0.0.4 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. using homebrew, apt, etc.
## Windows ## Windows
@ -50,7 +51,9 @@ Use an [official Windows Python release](https://www.python.org/downloads/window
## MacOS ## 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: 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 brew install raylib
python3 -m pip install raylib==5.0.0.4 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 ## Linux
Binaries require OS newer than Ubuntu 2020, x64 or arm64. Otherwise build from source. 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.) (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. so may not work on other boards.
## Raspberry Pi ## Raspberry Pi
@ -74,6 +80,7 @@ so may not work on other boards.
There is now a separate dynamic version of this binding: There is now a separate dynamic version of this binding:
python3 -m pip uninstall raylib
python3 -m pip install raylib_dynamic 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) 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 uninstall raylib
python3 -m pip install raylib_sdl 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 ## 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 uninstall raylib
python3 -m pip install raylib_drm 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? ## 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) 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. 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). If it still doesn't work, [submit an issue](https://github.com/electronstudio/raylib-python-cffi/issues).
# How to use # 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 ### 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 # Running in a web browser

View file

@ -56,7 +56,6 @@ Example program:
init_window(800, 450, "Raylib texture test") 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>`_ `See all examples here <https://github.com/electronstudio/raylib-python-cffi/tree/master/examples>`_

View file

@ -596,8 +596,6 @@
</li> </li>
<li><a href="pyray.html#pyray.codepoint_to_utf8">codepoint_to_utf8() (in module pyray)</a> <li><a href="pyray.html#pyray.codepoint_to_utf8">codepoint_to_utf8() (in module pyray)</a>
</li> </li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="raylib.html#raylib.CodepointToUTF8">CodepointToUTF8() (in module raylib)</a> <li><a href="raylib.html#raylib.CodepointToUTF8">CodepointToUTF8() (in module raylib)</a>
</li> </li>
<li><a href="pyray.html#pyray.Color">Color (class in pyray)</a> <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><a href="raylib.html#raylib.Color">(in module raylib)</a>
</li> </li>
</ul></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><a href="pyray.html#pyray.MaterialMap.color">color (pyray.MaterialMap attribute)</a>
</li> </li>
<li><a href="pyray.html#pyray.color_alpha">color_alpha() (in module pyray)</a> <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><a href="pyray.html#pyray.compress_data">compress_data() (in module pyray)</a>
</li> </li>
<li><a href="raylib.html#raylib.CompressData">CompressData() (in module raylib)</a> <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>
<li><a href="pyray.html#pyray.ConfigFlags">ConfigFlags (class in pyray)</a> <li><a href="pyray.html#pyray.ConfigFlags">ConfigFlags (class in pyray)</a>
@ -5024,7 +5032,7 @@
</li> </li>
<li><a href="pyray.html#pyray.is_audio_stream_processed">is_audio_stream_processed() (in module pyray)</a> <li><a href="pyray.html#pyray.is_audio_stream_processed">is_audio_stream_processed() (in module pyray)</a>
</li> </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>
<li><a href="pyray.html#pyray.is_cursor_hidden">is_cursor_hidden() (in module pyray)</a> <li><a href="pyray.html#pyray.is_cursor_hidden">is_cursor_hidden() (in module pyray)</a>
</li> </li>
@ -5036,7 +5044,7 @@
</li> </li>
<li><a href="pyray.html#pyray.is_file_name_valid">is_file_name_valid() (in module pyray)</a> <li><a href="pyray.html#pyray.is_file_name_valid">is_file_name_valid() (in module pyray)</a>
</li> </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>
<li><a href="pyray.html#pyray.is_gamepad_available">is_gamepad_available() (in module pyray)</a> <li><a href="pyray.html#pyray.is_gamepad_available">is_gamepad_available() (in module pyray)</a>
</li> </li>
@ -5050,7 +5058,7 @@
</li> </li>
<li><a href="pyray.html#pyray.is_gesture_detected">is_gesture_detected() (in module pyray)</a> <li><a href="pyray.html#pyray.is_gesture_detected">is_gesture_detected() (in module pyray)</a>
</li> </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>
<li><a href="pyray.html#pyray.is_key_down">is_key_down() (in module pyray)</a> <li><a href="pyray.html#pyray.is_key_down">is_key_down() (in module pyray)</a>
</li> </li>
@ -5062,11 +5070,11 @@
</li> </li>
<li><a href="pyray.html#pyray.is_key_up">is_key_up() (in module pyray)</a> <li><a href="pyray.html#pyray.is_key_up">is_key_up() (in module pyray)</a>
</li> </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>
<li><a href="pyray.html#pyray.is_model_animation_valid">is_model_animation_valid() (in module pyray)</a> <li><a href="pyray.html#pyray.is_model_animation_valid">is_model_animation_valid() (in module pyray)</a>
</li> </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>
<li><a href="pyray.html#pyray.is_mouse_button_down">is_mouse_button_down() (in module pyray)</a> <li><a href="pyray.html#pyray.is_mouse_button_down">is_mouse_button_down() (in module pyray)</a>
</li> </li>
@ -5075,24 +5083,24 @@
<li><a href="pyray.html#pyray.is_mouse_button_released">is_mouse_button_released() (in module pyray)</a> <li><a href="pyray.html#pyray.is_mouse_button_released">is_mouse_button_released() (in module pyray)</a>
</li> </li>
<li><a href="pyray.html#pyray.is_mouse_button_up">is_mouse_button_up() (in module pyray)</a> <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>
<li><a href="pyray.html#pyray.is_music_stream_playing">is_music_stream_playing() (in module pyray)</a> <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>
<li><a href="pyray.html#pyray.is_path_file">is_path_file() (in module pyray)</a> <li><a href="pyray.html#pyray.is_path_file">is_path_file() (in module pyray)</a>
</li> </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>
<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>
<li><a href="pyray.html#pyray.is_sound_playing">is_sound_playing() (in module pyray)</a> <li><a href="pyray.html#pyray.is_sound_playing">is_sound_playing() (in module pyray)</a>
</li> </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>
<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>
<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>
<li><a href="pyray.html#pyray.is_window_focused">is_window_focused() (in module pyray)</a> <li><a href="pyray.html#pyray.is_window_focused">is_window_focused() (in module pyray)</a>
</li> </li>
@ -5116,7 +5124,7 @@
</li> </li>
<li><a href="raylib.html#raylib.IsAudioStreamProcessed">IsAudioStreamProcessed() (in module raylib)</a> <li><a href="raylib.html#raylib.IsAudioStreamProcessed">IsAudioStreamProcessed() (in module raylib)</a>
</li> </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>
<li><a href="raylib.html#raylib.IsCursorHidden">IsCursorHidden() (in module raylib)</a> <li><a href="raylib.html#raylib.IsCursorHidden">IsCursorHidden() (in module raylib)</a>
</li> </li>
@ -5128,7 +5136,7 @@
</li> </li>
<li><a href="raylib.html#raylib.IsFileNameValid">IsFileNameValid() (in module raylib)</a> <li><a href="raylib.html#raylib.IsFileNameValid">IsFileNameValid() (in module raylib)</a>
</li> </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>
<li><a href="raylib.html#raylib.IsGamepadAvailable">IsGamepadAvailable() (in module raylib)</a> <li><a href="raylib.html#raylib.IsGamepadAvailable">IsGamepadAvailable() (in module raylib)</a>
</li> </li>
@ -5144,7 +5152,7 @@
</li> </li>
<li><a href="pyray.html#pyray.PhysicsBodyData.isGrounded">isGrounded (pyray.PhysicsBodyData attribute)</a> <li><a href="pyray.html#pyray.PhysicsBodyData.isGrounded">isGrounded (pyray.PhysicsBodyData attribute)</a>
</li> </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>
<li><a href="raylib.html#raylib.IsKeyDown">IsKeyDown() (in module raylib)</a> <li><a href="raylib.html#raylib.IsKeyDown">IsKeyDown() (in module raylib)</a>
</li> </li>
@ -5156,11 +5164,11 @@
</li> </li>
<li><a href="raylib.html#raylib.IsKeyUp">IsKeyUp() (in module raylib)</a> <li><a href="raylib.html#raylib.IsKeyUp">IsKeyUp() (in module raylib)</a>
</li> </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>
<li><a href="raylib.html#raylib.IsModelAnimationValid">IsModelAnimationValid() (in module raylib)</a> <li><a href="raylib.html#raylib.IsModelAnimationValid">IsModelAnimationValid() (in module raylib)</a>
</li> </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>
<li><a href="raylib.html#raylib.IsMouseButtonDown">IsMouseButtonDown() (in module raylib)</a> <li><a href="raylib.html#raylib.IsMouseButtonDown">IsMouseButtonDown() (in module raylib)</a>
</li> </li>
@ -5169,24 +5177,24 @@
<li><a href="raylib.html#raylib.IsMouseButtonReleased">IsMouseButtonReleased() (in module raylib)</a> <li><a href="raylib.html#raylib.IsMouseButtonReleased">IsMouseButtonReleased() (in module raylib)</a>
</li> </li>
<li><a href="raylib.html#raylib.IsMouseButtonUp">IsMouseButtonUp() (in module raylib)</a> <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>
<li><a href="raylib.html#raylib.IsMusicStreamPlaying">IsMusicStreamPlaying() (in module raylib)</a> <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>
<li><a href="raylib.html#raylib.IsPathFile">IsPathFile() (in module raylib)</a> <li><a href="raylib.html#raylib.IsPathFile">IsPathFile() (in module raylib)</a>
</li> </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>
<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>
<li><a href="raylib.html#raylib.IsSoundPlaying">IsSoundPlaying() (in module raylib)</a> <li><a href="raylib.html#raylib.IsSoundPlaying">IsSoundPlaying() (in module raylib)</a>
</li> </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>
<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>
<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>
<li><a href="raylib.html#raylib.IsWindowFocused">IsWindowFocused() (in module raylib)</a> <li><a href="raylib.html#raylib.IsWindowFocused">IsWindowFocused() (in module raylib)</a>
</li> </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_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.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.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_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_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> <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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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"><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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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> <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> <span class="o">...</span>
</pre></div> </pre></div>
</div> </div>
<p>(You dont need to use the PyRay() class anymore.)</p>
</div> </div>
<p><a class="reference external" href="https://github.com/electronstudio/raylib-python-cffi/tree/master/examples">See all examples here</a></p> <p><a class="reference external" href="https://github.com/electronstudio/raylib-python-cffi/tree/master/examples">See all examples here</a></p>
</section> </section>
@ -7524,6 +7525,18 @@
<dd><p>Compress data (DEFLATE algorithm), memory must be MemFree()</p> <dd><p>Compress data (DEFLATE algorithm), memory must be MemFree()</p>
</dd></dl> </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"> <dl class="py function">
<dt class="sig sig-object py" id="pyray.create_physics_body_circle"> <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> <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> </dd></dl>
<dl class="py function"> <dl class="py function">
<dt class="sig sig-object py" id="pyray.is_audio_stream_ready"> <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_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> <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 ready</p> <dd><p>Checks if an audio stream is valid (buffers initialized)</p>
</dd></dl> </dd></dl>
<dl class="py function"> <dl class="py function">
@ -10372,9 +10385,9 @@
</dd></dl> </dd></dl>
<dl class="py function"> <dl class="py function">
<dt class="sig sig-object py" id="pyray.is_font_ready"> <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_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> <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 ready</p> <dd><p>Check if a font is valid (font data loaded, WARNING: GPU texture not checked)</p>
</dd></dl> </dd></dl>
<dl class="py function"> <dl class="py function">
@ -10414,9 +10427,9 @@
</dd></dl> </dd></dl>
<dl class="py function"> <dl class="py function">
<dt class="sig sig-object py" id="pyray.is_image_ready"> <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_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> <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 ready</p> <dd><p>Check if an image is valid (data and parameters)</p>
</dd></dl> </dd></dl>
<dl class="py function"> <dl class="py function">
@ -10450,9 +10463,9 @@
</dd></dl> </dd></dl>
<dl class="py function"> <dl class="py function">
<dt class="sig sig-object py" id="pyray.is_material_ready"> <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_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> <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 ready</p> <dd><p>Check if a material is valid (shader assigned, map textures loaded in GPU)</p>
</dd></dl> </dd></dl>
<dl class="py function"> <dl class="py function">
@ -10462,9 +10475,9 @@
</dd></dl> </dd></dl>
<dl class="py function"> <dl class="py function">
<dt class="sig sig-object py" id="pyray.is_model_ready"> <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_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> <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 ready</p> <dd><p>Check if a model is valid (loaded in GPU, VAO/VBOs)</p>
</dd></dl> </dd></dl>
<dl class="py function"> <dl class="py function">
@ -10491,18 +10504,18 @@
<dd><p>Check if a mouse button is NOT being pressed</p> <dd><p>Check if a mouse button is NOT being pressed</p>
</dd></dl> </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"> <dl class="py function">
<dt class="sig sig-object py" id="pyray.is_music_stream_playing"> <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> <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><p>Check if music is playing</p>
</dd></dl> </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"> <dl class="py function">
<dt class="sig sig-object py" id="pyray.is_path_file"> <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> <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> </dd></dl>
<dl class="py function"> <dl class="py function">
<dt class="sig sig-object py" id="pyray.is_render_texture_ready"> <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_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> <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 ready</p> <dd><p>Check if a render texture is valid (loaded in GPU)</p>
</dd></dl> </dd></dl>
<dl class="py function"> <dl class="py function">
<dt class="sig sig-object py" id="pyray.is_shader_ready"> <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_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> <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 ready</p> <dd><p>Check if a shader is valid (loaded on GPU)</p>
</dd></dl> </dd></dl>
<dl class="py function"> <dl class="py function">
@ -10528,21 +10541,21 @@
</dd></dl> </dd></dl>
<dl class="py function"> <dl class="py function">
<dt class="sig sig-object py" id="pyray.is_sound_ready"> <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_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> <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 ready</p> <dd><p>Checks if a sound is valid (data loaded and buffers initialized)</p>
</dd></dl> </dd></dl>
<dl class="py function"> <dl class="py function">
<dt class="sig sig-object py" id="pyray.is_texture_ready"> <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_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> <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 ready</p> <dd><p>Check if a texture is valid (loaded in GPU)</p>
</dd></dl> </dd></dl>
<dl class="py function"> <dl class="py function">
<dt class="sig sig-object py" id="pyray.is_wave_ready"> <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_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> <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 ready</p> <dd><p>Checks if wave data is valid (data loaded and parameters)</p>
</dd></dl> </dd></dl>
<dl class="py function"> <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.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.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.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.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.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> <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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.IsRenderTextureValid"><code class="docutils literal notranslate"><span class="pre">IsRenderTextureValid()</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.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.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.IsSoundValid"><code class="docutils literal notranslate"><span class="pre">IsSoundValid()</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.IsTextureValid"><code class="docutils literal notranslate"><span class="pre">IsTextureValid()</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.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.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.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> <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><p>Compress data (DEFLATE algorithm), memory must be MemFree()</p>
</dd></dl> </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"> <dl class="py data">
<dt class="sig sig-object py" id="raylib.ConfigFlags"> <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> <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> </dd></dl>
<dl class="py function"> <dl class="py function">
<dt class="sig sig-object py" id="raylib.IsAudioStreamReady"> <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">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> <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 ready</p> <dd><p>Checks if an audio stream is valid (buffers initialized)</p>
</dd></dl> </dd></dl>
<dl class="py function"> <dl class="py function">
@ -6723,9 +6737,9 @@ are very, very similar to the C originals.</p>
</dd></dl> </dd></dl>
<dl class="py function"> <dl class="py function">
<dt class="sig sig-object py" id="raylib.IsFontReady"> <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">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> <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 ready</p> <dd><p>Check if a font is valid (font data loaded, WARNING: GPU texture not checked)</p>
</dd></dl> </dd></dl>
<dl class="py function"> <dl class="py function">
@ -6765,9 +6779,9 @@ are very, very similar to the C originals.</p>
</dd></dl> </dd></dl>
<dl class="py function"> <dl class="py function">
<dt class="sig sig-object py" id="raylib.IsImageReady"> <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">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> <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 ready</p> <dd><p>Check if an image is valid (data and parameters)</p>
</dd></dl> </dd></dl>
<dl class="py function"> <dl class="py function">
@ -6801,9 +6815,9 @@ are very, very similar to the C originals.</p>
</dd></dl> </dd></dl>
<dl class="py function"> <dl class="py function">
<dt class="sig sig-object py" id="raylib.IsMaterialReady"> <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">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> <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 ready</p> <dd><p>Check if a material is valid (shader assigned, map textures loaded in GPU)</p>
</dd></dl> </dd></dl>
<dl class="py function"> <dl class="py function">
@ -6813,9 +6827,9 @@ are very, very similar to the C originals.</p>
</dd></dl> </dd></dl>
<dl class="py function"> <dl class="py function">
<dt class="sig sig-object py" id="raylib.IsModelReady"> <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">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> <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 ready</p> <dd><p>Check if a model is valid (loaded in GPU, VAO/VBOs)</p>
</dd></dl> </dd></dl>
<dl class="py function"> <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><p>Check if a mouse button is NOT being pressed</p>
</dd></dl> </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"> <dl class="py function">
<dt class="sig sig-object py" id="raylib.IsMusicStreamPlaying"> <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> <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><p>Check if music is playing</p>
</dd></dl> </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"> <dl class="py function">
<dt class="sig sig-object py" id="raylib.IsPathFile"> <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> <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> </dd></dl>
<dl class="py function"> <dl class="py function">
<dt class="sig sig-object py" id="raylib.IsRenderTextureReady"> <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">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> <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 ready</p> <dd><p>Check if a render texture is valid (loaded in GPU)</p>
</dd></dl> </dd></dl>
<dl class="py function"> <dl class="py function">
<dt class="sig sig-object py" id="raylib.IsShaderReady"> <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">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> <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 ready</p> <dd><p>Check if a shader is valid (loaded on GPU)</p>
</dd></dl> </dd></dl>
<dl class="py function"> <dl class="py function">
@ -6879,21 +6893,21 @@ are very, very similar to the C originals.</p>
</dd></dl> </dd></dl>
<dl class="py function"> <dl class="py function">
<dt class="sig sig-object py" id="raylib.IsSoundReady"> <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">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> <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 ready</p> <dd><p>Checks if a sound is valid (data loaded and buffers initialized)</p>
</dd></dl> </dd></dl>
<dl class="py function"> <dl class="py function">
<dt class="sig sig-object py" id="raylib.IsTextureReady"> <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">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> <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 ready</p> <dd><p>Check if a texture is valid (loaded in GPU)</p>
</dd></dl> </dd></dl>
<dl class="py function"> <dl class="py function">
<dt class="sig sig-object py" id="raylib.IsWaveReady"> <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">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> <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 ready</p> <dd><p>Checks if wave data is valid (data loaded and parameters)</p>
</dd></dl> </dd></dl>
<dl class="py function"> <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: def compress_data(data: str,dataSize: int,compDataSize: Any,) -> str:
"""Compress data (DEFLATE algorithm), memory must be MemFree()""" """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: def create_physics_body_circle(pos: Vector2,radius: float,density: float,) -> Any:
"""Creates a new circle physics body with generic parameters""" """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: def is_audio_stream_processed(stream: AudioStream,) -> bool:
"""Check if any audio stream buffers requires refill""" """Check if any audio stream buffers requires refill"""
... ...
def is_audio_stream_ready(stream: AudioStream,) -> bool: def is_audio_stream_valid(stream: AudioStream,) -> bool:
"""Checks if an audio stream is ready""" """Checks if an audio stream is valid (buffers initialized)"""
... ...
def is_cursor_hidden() -> bool: def is_cursor_hidden() -> bool:
"""Check if cursor is not visible""" """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: def is_file_name_valid(fileName: str,) -> bool:
"""Check if fileName is valid for the platform/OS""" """Check if fileName is valid for the platform/OS"""
... ...
def is_font_ready(font: Font,) -> bool: def is_font_valid(font: Font,) -> bool:
"""Check if a font is ready""" """Check if a font is valid (font data loaded, WARNING: GPU texture not checked)"""
... ...
def is_gamepad_available(gamepad: int,) -> bool: def is_gamepad_available(gamepad: int,) -> bool:
"""Check if a gamepad is available""" """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: def is_gesture_detected(gesture: int,) -> bool:
"""Check if a gesture have been detected""" """Check if a gesture have been detected"""
... ...
def is_image_ready(image: Image,) -> bool: def is_image_valid(image: Image,) -> bool:
"""Check if an image is ready""" """Check if an image is valid (data and parameters)"""
... ...
def is_key_down(key: int,) -> bool: def is_key_down(key: int,) -> bool:
"""Check if a key is being pressed""" """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: def is_key_up(key: int,) -> bool:
"""Check if a key is NOT being pressed""" """Check if a key is NOT being pressed"""
... ...
def is_material_ready(material: Material,) -> bool: def is_material_valid(material: Material,) -> bool:
"""Check if a material is ready""" """Check if a material is valid (shader assigned, map textures loaded in GPU)"""
... ...
def is_model_animation_valid(model: Model,anim: ModelAnimation,) -> bool: def is_model_animation_valid(model: Model,anim: ModelAnimation,) -> bool:
"""Check model animation skeleton match""" """Check model animation skeleton match"""
... ...
def is_model_ready(model: Model,) -> bool: def is_model_valid(model: Model,) -> bool:
"""Check if a model is ready""" """Check if a model is valid (loaded in GPU, VAO/VBOs)"""
... ...
def is_mouse_button_down(button: int,) -> bool: def is_mouse_button_down(button: int,) -> bool:
"""Check if a mouse button is being pressed""" """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: def is_mouse_button_up(button: int,) -> bool:
"""Check if a mouse button is NOT being pressed""" """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: def is_music_stream_playing(music: Music,) -> bool:
"""Check if music is playing""" """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: def is_path_file(path: str,) -> bool:
"""Check if a given path is a file or a directory""" """Check if a given path is a file or a directory"""
... ...
def is_render_texture_ready(target: RenderTexture,) -> bool: def is_render_texture_valid(target: RenderTexture,) -> bool:
"""Check if a render texture is ready""" """Check if a render texture is valid (loaded in GPU)"""
... ...
def is_shader_ready(shader: Shader,) -> bool: def is_shader_valid(shader: Shader,) -> bool:
"""Check if a shader is ready""" """Check if a shader is valid (loaded on GPU)"""
... ...
def is_sound_playing(sound: Sound,) -> bool: def is_sound_playing(sound: Sound,) -> bool:
"""Check if a sound is currently playing""" """Check if a sound is currently playing"""
... ...
def is_sound_ready(sound: Sound,) -> bool: def is_sound_valid(sound: Sound,) -> bool:
"""Checks if a sound is ready""" """Checks if a sound is valid (data loaded and buffers initialized)"""
... ...
def is_texture_ready(texture: Texture,) -> bool: def is_texture_valid(texture: Texture,) -> bool:
"""Check if a texture is ready""" """Check if a texture is valid (loaded in GPU)"""
... ...
def is_wave_ready(wave: Wave,) -> bool: def is_wave_valid(wave: Wave,) -> bool:
"""Checks if wave data is ready""" """Checks if wave data is valid (data loaded and parameters)"""
... ...
def is_window_focused() -> bool: def is_window_focused() -> bool:
"""Check if window is currently focused (only PLATFORM_DESKTOP)""" """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: def CompressData(data: str,dataSize: int,compDataSize: Any,) -> str:
"""Compress data (DEFLATE algorithm), memory must be MemFree()""" """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: def CreatePhysicsBodyCircle(pos: Vector2,radius: float,density: float,) -> Any:
"""Creates a new circle physics body with generic parameters""" """Creates a new circle physics body with generic parameters"""
... ...
@ -1597,8 +1603,8 @@ def IsAudioStreamPlaying(stream: AudioStream,) -> bool:
def IsAudioStreamProcessed(stream: AudioStream,) -> bool: def IsAudioStreamProcessed(stream: AudioStream,) -> bool:
"""Check if any audio stream buffers requires refill""" """Check if any audio stream buffers requires refill"""
... ...
def IsAudioStreamReady(stream: AudioStream,) -> bool: def IsAudioStreamValid(stream: AudioStream,) -> bool:
"""Checks if an audio stream is ready""" """Checks if an audio stream is valid (buffers initialized)"""
... ...
def IsCursorHidden() -> bool: def IsCursorHidden() -> bool:
"""Check if cursor is not visible""" """Check if cursor is not visible"""
@ -1615,8 +1621,8 @@ def IsFileExtension(fileName: str,ext: str,) -> bool:
def IsFileNameValid(fileName: str,) -> bool: def IsFileNameValid(fileName: str,) -> bool:
"""Check if fileName is valid for the platform/OS""" """Check if fileName is valid for the platform/OS"""
... ...
def IsFontReady(font: Font,) -> bool: def IsFontValid(font: Font,) -> bool:
"""Check if a font is ready""" """Check if a font is valid (font data loaded, WARNING: GPU texture not checked)"""
... ...
def IsGamepadAvailable(gamepad: int,) -> bool: def IsGamepadAvailable(gamepad: int,) -> bool:
"""Check if a gamepad is available""" """Check if a gamepad is available"""
@ -1636,8 +1642,8 @@ def IsGamepadButtonUp(gamepad: int,button: int,) -> bool:
def IsGestureDetected(gesture: int,) -> bool: def IsGestureDetected(gesture: int,) -> bool:
"""Check if a gesture have been detected""" """Check if a gesture have been detected"""
... ...
def IsImageReady(image: Image,) -> bool: def IsImageValid(image: Image,) -> bool:
"""Check if an image is ready""" """Check if an image is valid (data and parameters)"""
... ...
def IsKeyDown(key: int,) -> bool: def IsKeyDown(key: int,) -> bool:
"""Check if a key is being pressed""" """Check if a key is being pressed"""
@ -1654,14 +1660,14 @@ def IsKeyReleased(key: int,) -> bool:
def IsKeyUp(key: int,) -> bool: def IsKeyUp(key: int,) -> bool:
"""Check if a key is NOT being pressed""" """Check if a key is NOT being pressed"""
... ...
def IsMaterialReady(material: Material,) -> bool: def IsMaterialValid(material: Material,) -> bool:
"""Check if a material is ready""" """Check if a material is valid (shader assigned, map textures loaded in GPU)"""
... ...
def IsModelAnimationValid(model: Model,anim: ModelAnimation,) -> bool: def IsModelAnimationValid(model: Model,anim: ModelAnimation,) -> bool:
"""Check model animation skeleton match""" """Check model animation skeleton match"""
... ...
def IsModelReady(model: Model,) -> bool: def IsModelValid(model: Model,) -> bool:
"""Check if a model is ready""" """Check if a model is valid (loaded in GPU, VAO/VBOs)"""
... ...
def IsMouseButtonDown(button: int,) -> bool: def IsMouseButtonDown(button: int,) -> bool:
"""Check if a mouse button is being pressed""" """Check if a mouse button is being pressed"""
@ -1675,32 +1681,32 @@ def IsMouseButtonReleased(button: int,) -> bool:
def IsMouseButtonUp(button: int,) -> bool: def IsMouseButtonUp(button: int,) -> bool:
"""Check if a mouse button is NOT being pressed""" """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: def IsMusicStreamPlaying(music: Music,) -> bool:
"""Check if music is playing""" """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: def IsPathFile(path: str,) -> bool:
"""Check if a given path is a file or a directory""" """Check if a given path is a file or a directory"""
... ...
def IsRenderTextureReady(target: RenderTexture,) -> bool: def IsRenderTextureValid(target: RenderTexture,) -> bool:
"""Check if a render texture is ready""" """Check if a render texture is valid (loaded in GPU)"""
... ...
def IsShaderReady(shader: Shader,) -> bool: def IsShaderValid(shader: Shader,) -> bool:
"""Check if a shader is ready""" """Check if a shader is valid (loaded on GPU)"""
... ...
def IsSoundPlaying(sound: Sound,) -> bool: def IsSoundPlaying(sound: Sound,) -> bool:
"""Check if a sound is currently playing""" """Check if a sound is currently playing"""
... ...
def IsSoundReady(sound: Sound,) -> bool: def IsSoundValid(sound: Sound,) -> bool:
"""Checks if a sound is ready""" """Checks if a sound is valid (data loaded and buffers initialized)"""
... ...
def IsTextureReady(texture: Texture,) -> bool: def IsTextureValid(texture: Texture,) -> bool:
"""Check if a texture is ready""" """Check if a texture is valid (loaded in GPU)"""
... ...
def IsWaveReady(wave: Wave,) -> bool: def IsWaveValid(wave: Wave,) -> bool:
"""Checks if wave data is ready""" """Checks if wave data is valid (data loaded and parameters)"""
... ...
def IsWindowFocused() -> bool: def IsWindowFocused() -> bool:
"""Check if window is currently focused (only PLATFORM_DESKTOP)""" """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 // 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 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 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 GetShaderLocation(Shader shader, const char *uniformName); // Get shader uniform location
int GetShaderLocationAttrib(Shader shader, const char *attribName); // Get shader attribute 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 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() 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() 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 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 // Automation events functionality
AutomationEventList LoadAutomationEventList(const char *fileName); // Load automation events list from file, NULL for empty list, capacity = MAX_AUTOMATION_EVENTS 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 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 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 LoadImageFromTexture(Texture2D texture); // Load image from GPU texture data
Image LoadImageFromScreen(void); // Load image from screen buffer and (screenshot) 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) 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 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 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 Texture2D LoadTextureFromImage(Image image); // Load texture from image data
TextureCubemap LoadTextureCubemap(Image image, int layout); // Load cubemap from image, multiple image cubemap layouts supported 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) 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) 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 UnloadRenderTexture(RenderTexture2D target); // Unload render texture from GPU memory (VRAM)
void UpdateTexture(Texture2D texture, const void *pixels); // Update GPU texture with new data 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 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 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 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' 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 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 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) 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 management functions
Model LoadModel(const char *fileName); // Load model from files (meshes and materials) Model LoadModel(const char *fileName); // Load model from files (meshes and materials)
Model LoadModelFromMesh(Mesh mesh); // Load model from generated mesh (default material) 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) 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) BoundingBox GetModelBoundingBox(Model model); // Compute model bounding box limits (considers all meshes)
// Model drawing functions // Model drawing functions
@ -1342,7 +1344,7 @@ typedef bool (*SaveFileTextCallback)(const char *fileName, char *text); // FileI
// Material loading/unloading functions // Material loading/unloading functions
Material *LoadMaterials(const char *fileName, int *materialCount); // Load materials from model file Material *LoadMaterials(const char *fileName, int *materialCount); // Load materials from model file
Material LoadMaterialDefault(void); // Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps) 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 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 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 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/Sound loading/unloading functions
Wave LoadWave(const char *fileName); // Load wave data from file 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' 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 LoadSound(const char *fileName); // Load sound from file
Sound LoadSoundFromWave(Wave wave); // Load sound from wave data 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 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 UpdateSound(Sound sound, const void *data, int sampleCount); // Update sound buffer with new data
void UnloadWave(Wave wave); // Unload wave data void UnloadWave(Wave wave); // Unload wave data
void UnloadSound(Sound sound); // Unload sound void UnloadSound(Sound sound); // Unload sound
@ -1403,7 +1405,7 @@ typedef void (*AudioCallback)(void *bufferData, unsigned int frames);
// Music management functions // Music management functions
Music LoadMusicStream(const char *fileName); // Load music stream from file 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 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 UnloadMusicStream(Music music); // Unload music stream
void PlayMusicStream(Music music); // Start music playing void PlayMusicStream(Music music); // Start music playing
bool IsMusicStreamPlaying(Music music); // Check if music is 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) float GetMusicTimePlayed(Music music); // Get current music time played (in seconds)
// AudioStream management functions // AudioStream management functions
AudioStream LoadAudioStream(unsigned int sampleRate, unsigned int sampleSize, unsigned int channels); // Load audio stream (to stream raw audio pcm data) 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 UnloadAudioStream(AudioStream stream); // Unload audio stream and free memory
void UpdateAudioStream(AudioStream stream, const void *data, int frameCount); // Update audio stream buffers with data 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 bool IsAudioStreamProcessed(AudioStream stream); // Check if any audio stream buffers requires refill