CSFML
CSFML copied to clipboard
Official binding of SFML for C
```cpp sfSound* sfSound_create(const sfSoundBuffer* buffer) { assert(buffer); return new sfSound{sf::Sound(buffer->This), buffer}; // what would happen if new throws? } ``` best to replace it with `new(std::nothrow)` which returns null on...
Noticed a few functionalities / methods are still missing in CSFML v3, so I'm making this list to track things that might need to be added. - Listener #349 -...
Some APIs check will convert null `const char*` arguments to an empty string. I propose CSFML stop doing this except where the API actually promises that the behavior of null...
`LIB_SUFFIX` is not a standard or usually set variable. Instead you should use the defaults coming from `GNUInstallDirs`
Fixes #394. Implements overriding for protected methods in `sfMusic` and `sfSoundStream` by using the pattern described [here](https://github.com/SFML/CSFML/issues/394#issuecomment-2667080660). The Chunk struct was also updated since the data types were different from...
CSFML currently requires SFML to be installed in order to get built. This results with projects depending on CSFML to require their maintainers to manually install the corresponding version of...
Consider sf::Audio ```cpp //////////////////////////////////////////////////////////// bool Music::onGetData(SoundStream::Chunk& data) { const std::lock_guard lock(m_impl->mutex); std::size_t toFill = m_impl->samples.size(); std::uint64_t currentOffset = m_impl->file.getSampleOffset(); const std::uint64_t loopEnd = m_impl->loopSpan.offset + m_impl->loopSpan.length; // If the loop...