Commit Graph

207 Commits

Author SHA1 Message Date
Vittorio Romeo
bb854fa739 Strategic use of '[[nodiscard]]' in 'Audio' module 2021-12-14 15:19:37 +01:00
Vittorio Romeo
b33f4bb205 Replace SFML multithreading primitives with standard C++ ones 2021-12-14 01:07:29 +01:00
Vittorio Romeo
363e964acc Strategic use of '[[nodiscard]]' in 'Graphics' module 2021-12-10 01:27:05 +00:00
Vittorio Romeo
7343b112fc Strategic use of '[[nodiscard]]' in 'Network' module 2021-12-09 22:34:57 +00:00
Vittorio Romeo
3579ecbdb0 Strategic use of '[[nodiscard]]' in 'Window' module 2021-12-09 19:53:54 +00:00
Lukas Dürrenberger
cd517ba267 Merge branch '2.6.x' into feature/backmerge 2021-12-09 14:36:55 +01:00
Vittorio Romeo
756a399909 Remove deprecated 'Keyboard::Key' enumerators and adjust usages 2021-12-09 13:12:03 +00:00
Vittorio Romeo
d12a2cd319 Use 'override' whenever possible instead of 'virtual' 2021-12-09 09:07:03 +01:00
Vittorio Romeo
87e84bc9e5 Minor modernization changes: 'nullptr', range-based 'for' loops, ... 2021-12-08 21:41:20 +00:00
Vittorio Romeo
2839f6b4d2 Use 'auto' where no information is lost 2021-12-08 19:14:31 +00:00
Vittorio Romeo
9a0cc4b7dc Use alias declarations instead of 'typedef' 2021-12-08 17:58:13 +00:00
Anton Vasiliev
f03a415121 Use std::vector.data() where appropriate 2021-12-08 16:26:03 +00:00
Vittorio Romeo
8be8a76cba Use 'auto', range-'for', and structured bindings to improve some loops 2021-12-08 13:05:52 +01:00
lieff
e458f4651e Add MP3 decoding support using 'minimp3'
Co-authored-by: Lukas Dürrenberger <eXpl0it3r@my-gate.net>
Co-authored-by: Vittorio Romeo <vittorio.romeo@outlook.com>
2021-12-08 08:19:08 +01:00
Anton Vasiliev
ce5d410c74 Fix exception on Vulkan example shutdown
This change fixes exception on Vulkan example shutdown when drawing
to window after it was closed.
2021-12-08 01:06:37 +00:00
Anton Vasiliev
b9da3b879c Fix possible exception on Vulkan example startup
This change fixes possible exception on Vulkan example startup when
validationLayers.size()) is zero.
2021-12-08 01:06:37 +00:00
Vittorio Romeo
51ebeaf383 Change most associative containers to their respective 'unordered' version 2021-12-06 14:01:56 +00:00
Vittorio Romeo
c9f7cb3d52 Use 'nullptr' instead of 'NULL' 2021-12-03 15:48:32 +00:00
Vittorio Romeo
6cf124db66 Fix remaining warnings
- Fixes in examples
- Fixes across all the modules
2021-11-30 11:25:58 +01:00
Lukas Dürrenberger
bc628c6b28 Fix warnings in examples
- Convert where necessary
- Adjust type where reasonable
- Use SYSTEM headers for gl.h, stb* and vulkan
2021-11-30 11:25:58 +01:00
Vittorio Romeo
dc88cbd81e Remove include directives for unused headers 2021-11-22 00:47:11 +01:00
jqdg
f4ac9cfb06 Copy logo.png to Resources in Cocoa example 2021-08-16 09:37:58 +02:00
Vittorio Romeo
f162b3a037 Enable support for unity builds 2021-08-12 21:00:16 +02:00
MrZeusTheCoder
20238e758e Switch example resources to public domain ones. 2021-04-02 22:16:22 +02:00
swordfatih
498d7ee79c Update the copyright year to 2021
Just updating all the 2020 references to 2021. 😄
2021-01-06 20:21:36 +01:00
Lukas Dürrenberger
9b596cc8d9 Update the copyright year to 2020 2020-09-12 19:34:34 +02:00
binary1248
6272f853c1 Add support for creating Vulkan window surfaces. 2019-10-16 21:48:24 +02:00
Lukas Dürrenberger
2eb70c6537 Replaced glLoadGen loader with glad loader and dynamically load EGL and GLES extensions as is done for desktop GL. 2019-09-12 23:02:52 +02:00
Jonny Paton
353c846c87 Update examples for iOS including touch support, proper handling of window resize, launch screens and icons 2019-01-19 01:34:30 +01:00
Ceylo
9f4a0c3c4f Make Pong example "usable" on iOS 2019-01-19 01:29:12 +01:00
Ceylo
5ab36271c7 Remove iOS example 2019-01-19 01:29:12 +01:00
Ceylo
1272b704d6 window, opengl and pong examples now work on iOS 2019-01-19 01:29:12 +01:00
Ceylo
82c2f4c05e All mobile-compatible examples now successfully link 2019-01-19 01:29:12 +01:00
EpicCoder
489482a630 Updated the copyright year to 2019 2019-01-08 08:53:33 +01:00
binary1248
ae337952a9
Allow creation of a window without an OpenGL context in order to support use cases where the user wants to render using other graphics APIs. 2019-01-05 23:22:08 +01:00
Lukas Dürrenberger
ae0ec9d552 Disabled the JNI part due to compatibility issues 2018-10-11 21:57:12 +02:00
Jonny Paton
1cd7ad6a24 Remove reference to unused CMAKE_OSX_DEPLOYMENT_TARGET in cocoa example 2018-08-27 13:36:57 +01:00
Ceylo
ff011dc51d Modernize iOS toolchain: remove BUILD_ARM64, drop support for Xcode <4.3 and don't pretend defining official CMake variables 2018-06-04 23:22:21 +02:00
Bruno Van de Velde
5ebfef4803 Copied resources to iOS example 2018-04-28 13:11:26 +02:00
Bruno Van de Velde
f25589e309 iOS example did not build on case-sensitive filesystem because path contained 'ios' instead of 'iOS' in CMakeLists.txt 2018-04-28 13:11:26 +02:00
Mario Liebisch
f4c25ac3fa Android work in progress changes 2018-04-14 09:59:01 +02:00
pjmlp
3a96024f6b Android: Upgraded the example to work with Gradle 2018-04-14 09:59:01 +02:00
binary1248
d032050ccf Added example demonstrating sf::VertexBuffer, sf::Shader and sf::Thread usage. 2018-04-06 00:16:27 +02:00
binary1248
fe1407b6b5
Added joystick example. 2018-04-05 17:29:38 +02:00
Jonny Paton
7be2111d61 Add iOS demo 2018-03-26 18:42:19 -07:00
Ceylo
ee08e18726 Modernize CMake files 2018-03-27 00:03:34 +02:00
Marco Antognini
b0f3611ab9 Renamed a few key codes
Deprecated BackSlash, BackSpace, SemiColon, Dash and
introduced Backslash, Backspace, Semicolon, Hyphen in a
retrocompatible way.
2018-03-26 23:39:39 +02:00
Maximilian Wagenbach
186294607f Return correct key code for delete/backspace on android.
Also increased minimum Android API version to 14.
2018-02-15 21:11:24 +01:00
Maximilian Wagenbach
989367e345 Turned the header image in readme.md into a link.
Updated all links to use https (tested).
2018-02-10 17:12:54 +01:00
Maximilian Wagenbach
5d7843c58a Updated the copyright year to 2018. 2018-02-10 14:51:46 +01:00
Ceylo
ce7ced5488 Replace INSTALL_RESOURCES_DIR option of sfml_add_example() command with RESOURCES_DIR 2018-01-25 00:23:33 +01:00
Ceylo
777ec2c04d Fix launch of Cocoa example due to missing MainMenu.nib in bundle app 2018-01-25 00:23:33 +01:00
Mario Liebisch
0b2ac85f11 Added CMake variables to select the modules to be built
This addresses issue #798.
2017-04-04 13:43:49 +02:00
Lukas Dürrenberger
113152673a Updated year in copyright notices to 2017. 2017-02-10 15:18:03 +01:00
binary1248
2df9abf341 Added missing setActive virtual method to sf::RenderTarget, added setActive calls to OpenGL example to demonstrate proper explicit context management. 2016-10-13 17:01:41 +02:00
binary1248
9996b7abb6 Converted Unix Window implementation from XCB back to Xlib. 2016-09-29 09:25:34 +02:00
Marco Antognini
ac50bf8648 Update copyright dates
For futur references:

List and inspect © to be updated
$ egrep '2007-[0-9]{4}' -r examples/ tools/ src/ include/ license.txt

Update all ©
$ egrep --null -l '2007-[0-9]{4}' -r examples/ tools/ src/ include/ license.txt | xargs -0 -P4 sed -i '' -E 's/^(.*)2007-[0-9]{4}(.*)$/\12007-2016\2/'
2016-08-05 16:20:39 +02:00
Mario Liebisch
3a2e176e59 Android: Readded support for libc++ and use it as the standard STL 2016-07-23 14:35:10 +02:00
Mario Liebisch
757094a25b Fixed current Android compilation issues
* Updated the Android toolchain file to support NDKs up to the latest release (r12b; based on https://github.com/gongminmin/android-cmake).
* Fixed missing sRGB extension defines - also SFML once again compiles for older target API levels not having the sRGB extensions (fixes #1079, supersedes #1085).
* Changed SFML's default STL runtime to `stlport_shared`, since `c++_shared` is no longer supported.
2016-07-21 10:42:45 +02:00
binary1248
259811d59c Implemented support for explicit mipmap generation in sf::Texture and sf::RenderTexture. (#123) 2016-05-04 20:01:22 +02:00
Mario Liebisch
9f6f02f988 Android: Added sf::getNativeActivity() to retrieve a handle to the current activity
This is only implemented for Android builds and requires the user to include the sub-header specifically. Other platforms will trigger a compiler error, if they try to include this header file.
2016-04-22 15:53:14 +02:00
Marco Antognini
9d70da3aaa Fixed and silenced a few warnings 2016-04-14 12:26:40 +02:00
Maximilian Wagenbach
1ee6d1dbc6 Make sure the recording thread in sf::SoundRecorder is stopped before sf::SoundBufferRecorder is destroyed.
Fixes a "pure virtual method called" crash.
Also updated the documentation and the VoIP example.
2016-04-10 22:51:37 +02:00
binary1248
e00d160224 Add support for sRGB capable framebuffers. (#175) 2016-03-10 10:08:17 +01:00
binary1248
3ff1d251a8 Fixed issues reported by Coverity Scan static analysis (run using Linux build configuration). 2016-03-08 09:42:47 +01:00
Mario Liebisch
146f63874a Added a geometry shader effect to the Shader example 2016-02-18 20:20:43 +01:00
Zachariah Brown
957cabb816 Added support for outlined text 2015-12-31 10:41:59 +01:00
Jan Haller
9c5c750e60 Added new methods to set uniforms in sf::Shader
Implements a new design for the shader uniform API.
* Added Shader::setUniform() and Shader::setUniformArray() overloads for the following types:
  -> scalars: float, int, bool
  -> vectors: 2D, 3D, 4D
  -> matrices: 3x3, 4x4
  -> arrays of basic types
  -> samplers (sf::Texture)
  -> conversions for SFML types (sf::Transform, sf::Color)
* Added sf::Glsl namespace with GLSL-equivalent types
* Deprecated Shader::setParameter() overloads

Other related changes:
* Refactored sf::Shader internals to avoid code duplication
* Improved documentation
* Added SFML_DEPRECATED macro to Doxyfile
* Defined _SCL_SECURE_NO_WARNINGS to disable std::copy() warnings on MSVC
2015-10-21 10:29:07 +02:00
binary1248
2752bbcfb0 Added methods to get the currently active context, query whether an OpenGL extension is available and query the actual OpenGL version of a context, made context switches during initialization of texture and shader static values unnecessary, fixed code style in loaders. 2015-09-21 20:29:55 +02:00
binary1248
e80bf0ba92 Fix whitespace: Convert tabs to spaces and remove trailing whitespace. 2015-04-15 01:53:43 +02:00
Lukas Dürrenberger
20f213bfac Added a FLAC file to the Sound example to cover all three supported formats. 2015-03-28 22:49:46 +01:00
Lukas Dürrenberger
23cc8cfe3f Only link sfml-main for the GUI examples in release mode. 2015-03-26 10:23:28 +01:00
binary1248
650e792350 Improved OpenGL and X11 rotating cube examples. 2015-03-23 16:16:07 +01:00
binary1248
e2420dfe76 Removed support for GLU. 2015-03-23 16:16:06 +01:00
binary1248
97bdf72ce1 Adjusted OpenGL and Window example to request a 24-bit instead of a 32-bit depth buffer since it might not be supported on all systems. 2015-03-23 16:16:05 +01:00
Mario Liebisch
34692d5a39 Android: Updated the toolchain file and CMake scripts
* Replaced the toolchain file with a new version based on [zuhowei's fork](https://github.com/zhuowei/android-cmake), which enables x64 builds as well as support for the latest NDK. This breaks compatibility with old build directories.
* Removed the STL dependency from **sfml-activity** rather than relying on *some* implementation implicitly linked by default.
* Deleted *project.properties*, which wasn't supposed to be part of the repository code. You have to use the Android SDK to recreate it (`android update project --path to/your/example --target 1 --name SFML-Example`).
* Made it possible to select a STL implementation to be used (default: `c++_shared`). Keep in mind that not all available configurations are necessarily compatible with SFML.
* Fixed linker flags to be compatible with Nvidia's Nsight Tegra for Visual Studio.
* It is now possible to compile the Android version using Nvidia's Nsight Tegra for Visual Studio (requires up-to-date CMake and `CMAKE_SFML_SYSTEM` to be set to `Android`; keep in mind that this is still experimental and requires further CMake updates).
* Updated and renamed some Android specific CMake variables.
* Made `armeabi-v7a` the default ABI for Android builds.
2015-03-04 09:05:22 +01:00
Zachariah Brown
1de7644277 Updated copyright year and Laurent's email address 2015-03-02 13:41:54 -05:00
Stefan Schindler
92ca32b2f9 Code adjustments to fix warnings.
Change-Id: Iba40752c6c5baaadc2a1b6a0fd03cbb0e3cde8a3
2015-01-05 22:23:16 +01:00
Stefan Schindler
c7549cd292 Adjusted and fixed XCB patch.
* Adjusted xcb_icccm calls (for recent XCB versions).
* Fixed wrong parameter order in xcb_icccm_set_wm_protocols call.
* Fixed XCB_BUTTON_RELEASE spawning a MouseButtonPressed event.
* Moved files from obsolete Linux/ to Unix/ directory.
* Added m_useSizeHints fix.
* setTitle() converts to UTF-8 before passing to XCB -> Unicode window title
  support.
* Added XCB-util dependency.
* Replaced XSelectInput. Obtaining XCB connection when taking window handle.
* Adjusted X11 example for XCB.
* Removed AutoPointer, replaced by direct XCB and free() calls.
* Added key repeat workaround.
2014-12-29 08:59:20 +01:00
Lukas Dürrenberger
188f713900 Merge branch 'bugfix/doc_n_spaces' 2014-11-19 10:11:46 +01:00
Lukas Dürrenberger
45810a1345 Fixed additional comments and documention spelling mistakes. 2014-11-18 01:02:07 +01:00
Stefan Schindler
40ae3ce175 Examples adjustments.
* French to English punctuation.
* Pong and Shader use fixed-sized windows now (especially on tiling
  window managers, the windows will be resized automatically, thus
  making the examples look and also behave weirdly).
2014-11-17 09:44:46 +01:00
Stefan Schindler
f24ca9a840 Source code changes.
* Changed newlines to \n.
* Removed whitespace before colons.
* Fixed several alignments.
2014-10-06 01:18:47 +02:00
binary1248
6959c1a826 Added notes to documentation and adjusted OpenGL example as a workaround for the side effects of making static functions that require a context work. If the user wants to make use of both sfml-graphics and OpenGL, they should make sure sf::Texture::getMaximumSize() and/or sf::Shader::isAvailable() are called at least once before setting their final context active as those functions will cause a context switch the first time they are called. 2014-08-15 13:39:06 +02:00
Arnold Dumas
700c2e3823 I missed one exclamation mark in the previous commit. 2014-08-03 21:18:27 +02:00
Arnold Dumas
1fa2ff0458 No space before exclamation mark. 2014-08-03 20:44:38 +02:00
Jonathan De Wachter
a06ecb0c7f [Android] Changed APP_PLATFORM value to android-9 in Application.mk 2014-06-21 21:31:21 +02:00
Jonathan De Wachter
9e3b466ee0 [Android] Fixed <uses-sdk> appears after <application> tag warning 2014-06-21 21:31:21 +02:00
Jonathan De Wachter
06b73f36bd [Android] Updated target SDK version to 19 2014-06-21 21:30:58 +02:00
Jonathan De Wachter
e726c24de4 [Android] Avoid hardcoding the debug mode in AndroidManifest.xml 2014-06-21 21:30:58 +02:00
Jonathan De Wachter
775277b8fb [Android] Updated example to handle screen rotation events (#531) 2014-06-21 20:11:41 +02:00
Marco Antognini
6e01d1fde7 Improved style of Cocoa example 2014-05-23 09:52:18 +02:00
Marco Antognini
6a5391c0b6 Fixed warnings in Cocoa example 2014-05-23 09:52:18 +02:00
Marco Antognini
d8812f0f5c Add support for retina displays (close #353)
Based on PR #388 by Michael Bradshaw

Convert size to match the size requested by the user.
2014-04-21 18:06:44 +02:00
Jonathan De Wachter
76fddc0729 [Android] The armeabi version of SFML is now built by default (the example as well) 2014-04-20 12:58:41 +02:00
Jonathan De Wachter
2caec961ee [Android] Dropped stlport in favor of libc++ which supports C++11 2014-04-20 12:58:27 +02:00
Jonathan De Wachter
a1b0e73ac5 [Android] SFML activity allows a custom library name for the user application 2014-04-20 12:58:17 +02:00
Jonathan De Wachter
6e57380e4f [Android] Added the example 2014-04-20 12:57:47 +02:00
Laurent Gomila
c35b48bcea [iOS] Removed support for examples, it was too much trouble and not as robust as true iOS App Xcode projects 2014-04-20 12:53:22 +02:00
Laurent Gomila
3872b27569 Reworked the sfml-main module, added Main.hpp, moved the main() internal entry point for iOS from sfml-window to sfml-main 2014-04-20 12:53:17 +02:00