SFML mainline mirror
Go to file
kimci86 72eb115551 Remove inheritance in sf::Event subtypes
This avoids confusing auto-completion hints when looking for an event
subtype to use as `sf::Event::is` or `sf::Event::getIf` type parameter.

This also avoids the inconsistency between what is possible with
`sf::Event::is` and `sf::Event::getIf` functions (they do not accept
event subtypes parents) and what would be possible with
`sf::Event::visit` (it could take a handler for a parent type).
2024-07-15 12:20:35 -06:00
.github Remove default empty state of sf::Event 2024-06-23 19:11:10 +02:00
cmake Merge branch '2.6.x' into master 2024-06-26 08:56:03 +02:00
doc Rename Font::loadFromFile into Font::openFromFile 2024-06-25 22:53:28 +02:00
examples Added event handling example. 2024-07-08 15:16:20 -06:00
extlibs Merge branch '2.6.x' into master 2024-06-26 08:56:03 +02:00
include/SFML Remove inheritance in sf::Event subtypes 2024-07-15 12:20:35 -06:00
src/SFML Remove inheritance in sf::Event subtypes 2024-07-15 12:20:35 -06:00
test Simplify sf::WindowBase::handleEvents and add basic tests 2024-07-09 17:51:41 +02:00
tools Rename Font::loadFromFile into Font::openFromFile 2024-06-25 22:53:28 +02:00
.clang-format Replaced OpenAL with miniaudio. 2024-04-25 10:24:11 +02:00
.clang-tidy Use [[nodiscard]] in more places 2024-06-27 15:12:15 -06:00
.editorconfig Added an .editorconfig file 2015-02-06 11:07:39 +01:00
.gitattributes Fix file extension typo in .gitattributes 2024-01-15 16:47:09 -07:00
.gitignore Remove irrelevant entries from .gitignore 2023-08-29 23:14:58 -06:00
changelog.md Fix Nix pkg-config support 2023-12-15 09:42:56 -07:00
CMakeLists.txt Merge branch '2.6.x' into master 2024-06-26 08:56:03 +02:00
CMakePresets.json Enable standard library assertions in CI 2024-06-23 08:37:06 +02:00
CONTRIBUTING.md Turned the header image in readme.md into a link. 2018-02-10 17:12:54 +01:00
license.md Update copyright year 2024-01-26 12:00:22 -07:00
readme.md Updated readme to point to SFML 2.6.1 2024-04-30 00:46:27 +00:00

SFML logo

SFML — Simple and Fast Multimedia Library

SFML is a simple, fast, cross-platform and object-oriented multimedia API. It provides access to windowing, graphics, audio and network. It is written in C++, and has bindings for various languages such as C, .Net, Ruby, Python.

State of Development

Development is focused on the next major version in the master branch. No more features are planned for the 2.x release series.

  • The master branch contains work in progress for the next major version SFML 3. As such it's considered unstable, but any testing and feedback is highly appreciated.
  • The 2.6.1 tag is the latest official SFML release and will be the last minor release in the 2.x series.

CMake Template

The easiest way to get started with SFML is our CMake-based project template. This template will automatically download and build SFML alongside your own application. Read the README for full instructions on how to use it.

Download

  • You can get the latest official release on SFML's website.
  • You can also get the source code of the current development version from the Git repository.
  • Alternatively, you can get the latest snapshot / artifact builds from the artifacts storage.

Install

Follow the instructions of the tutorials, there is one for each platform/compiler that SFML supports.

Learn

There are several places to learn SFML:

Community

Here are some useful community links:

Contribute

SFML is an open-source project, and it needs your help to go on growing and improving. If you want to get involved and suggest some additional features, file a bug report or submit a patch, please have a look at the contribution guidelines.

Authors

License

The SFML libraries and source code are distributed under the zlib/libpng license. See license.md. External libraries used by SFML are distributed under their own licenses.

In short, SFML is free for any use (commercial or personal, proprietary or open-source). You can use SFML in your project without any restriction. You can even omit to mention that you use SFML -- although it would be appreciated.

External libraries used by SFML