Commit Graph

2294 Commits

Author SHA1 Message Date
Guillaume Bertholon
1f21e5497b Control GL_FRAMEBUFFER_SRGB flag in RenderTarget
This fixes wrong rendering for RenderTexture that need sRGB encoding along a
non-sRGB window.
We cannot simply always enable GL_FRAMEBUFFER_SRGB because some drivers
enable sRGB encoding on non-sRGB window surfaces.
Also add a isSrgb() method to tell if a RenderTarget is encoding into
sRGB color space.
2021-05-11 16:52:55 +02:00
Guillaume Bertholon
ade4a3912a Support sRGB color space in RenderTexture
When the sf::ContextSettings asks for an sRGB capable buffer, set the
rendered image to sRGB mode and convert pixels when drawing.

This is the choice of simplicity compared to actually support textures
with more color depth.
2021-05-11 16:52:55 +02:00
Lukas Dürrenberger
9e27096c37 Fix configuration conflicts with Clang
- On Windows you can use Clang with both MSVC and MinGW
- When using Clang with MSVC all the MSVC conditions should be fulfilled
- When using Clang with MinGW all the MSVC steps should not be run
2021-05-10 12:20:48 +02:00
Lukas Dürrenberger
2b79ae96d9 Fix OpenGL context on Android
When waiting for an event, rather then polling, the android
looper prevents the creation of a OpenGL context till ALooper
receives an event rather then allowing creation at the appropriate time
2021-04-29 21:16:06 +02:00
acsbendi
20c23f0007 Fixed WindowImplAndroid used after deleted. 2021-04-29 21:07:08 +02:00
Guillaume Bertholon
f3a180bc09 Fix sf::Context::getActiveContext to stop returning inactive contexts
sf::Context::getActiveContext could return an inactive context if
RenderTargets activation occured since the last sf::Context activation.
This is not what its documentation suggest, and was clearly an
unexpected behaviour.

This fix make the function return NULL if the current active context is
not managed by sf::Context (e.g. because it is a RenderTarget).
2021-04-26 16:31:12 +02:00
Mozzg
ce992ee01f Fix overflow when calculating time value for Clock 2021-04-15 09:06:42 +02:00
binary1248
43b2e9dc12 Fixed regression introduced in 4fcef89 causing EXT_texture_edge_clamp support to not be considered, added explicit initialization of nbFormats to 0 in WglContext.cpp in order to prevent broken graphics drivers from filling nbFormats with a garbage value.
Fixes #1786.
2021-04-14 11:04:45 +02:00
Vittorio Romeo
c0b19109a9 Fix incorrect standard includes in 'InputSoundFile' and 'Music' 2021-04-13 10:21:11 +02:00
Jonny Paton
b29cb44fad Keep existing cursor type if requested type fails 2021-04-13 10:02:15 +02:00
Jonny Paton
f4844c11f8 Fix potential crash when changing cursor - don't release the NSCursor object if it's already been released 2021-04-13 10:02:15 +02:00
Vittorio Romeo
9541719893 Fix ordering of 'sf::Font' members in 'Font.cpp' 2021-04-12 13:28:00 +02:00
Marty E. Plummer
6ad96cf9b7 windows: add resource.rc files to dll builds
Windows uses a mechanism known as 'resource files' which provides, among
other things, metadata to a given executable/dll/driver/etc, and add a
layer of polish to a project which it would otherwise lack.
2021-04-11 16:02:51 +02:00
Lukas Dürrenberger
a7e5d3c386 Add missing semicolon in doc example 2021-04-08 17:35:05 +02:00
MrZeusTheCoder
20238e758e Switch example resources to public domain ones. 2021-04-02 22:16:22 +02:00
binary1248
eaeb977700 Relax the requirement to provide geometry shader support to accept a 3.2+ compatibility context as well. While the compatibility profile functionality is not 100% identical to the EXT/ARB functionality, the extent to which SFML makes use of geometry shaders should not pose any serious problems to a developer who is aware of the subtle differences. The current geometry shader example already requires GLSL 1.50 which was only available in OpenGL 3.2+. (Closes #1768) 2021-03-28 19:26:16 +02:00
binary1248
4fcef893c9 Updated glad loader to OpenGL 4.6 Compatibility Profile as base and added version support defines to GLExtensions.hpp. 2021-03-28 19:26:16 +02:00
Vittorio Romeo
748ba1bc82 Fix '-Wimplicit-fallthrough' warnings by adding a fallthrough comment 2021-03-25 11:39:50 +01:00
Guillaume Bertholon
05c83617de Add Min and Max blend modes 2021-03-23 21:09:53 +01:00
Lukas Dürrenberger
0fe1626a1f Add support for arm64 on macOS
The existing dependencies in the extlibs directory
have been updated to use universal frameworks
for both x86_64 and arm64, allowing SFML to built
natively on the new M1 chipset
2021-03-23 20:14:59 +01:00
Jon Keller
788ac2ecf5 MacOS: When initializing an openGL view with a parent window, call finishInit 2021-03-20 22:36:19 +01:00
Jon Keller
252d26afb0 macOS: allow CMAKE_OSX_ARCHITECTURES to be arm64 2021-03-06 10:32:47 +01:00
Lukas Dürrenberger
b762276a27 Change GitHub Actions failure mode
When a single GitHub Action build fails, the other builds should not be
canceled, but instead should continue to build.
Since the matrix is setup on OS level, a failing build on one OS usually
doesn't mean it's broken for all OS.
2021-02-19 20:48:28 +01:00
Radek Dutkiewicz
88451a0740 Fixed naming convention mistakes 2021-02-11 00:40:30 +01:00
Radek Dutkiewicz
e7ae462c82 Fixed formating mistake 2021-02-11 00:40:30 +01:00
Radek Dutkiewicz
84e0a25e04 Fixed unnecessary loadGlyph() calls
getKerning() now passes the bold flag to getGlyph() function, so already cached glyph can be used.
2021-02-11 00:40:30 +01:00
Radek Dutkiewicz
165b715d02 Fixed unintialized variable 2021-02-11 00:40:30 +01:00
Radek Dutkiewicz
f76f0607c7 Fix for fonts with no kerning tables
Apply deltas even if the font has no kerning table
2021-02-11 00:40:30 +01:00
Radek Dutkiewicz
7a0c35c334 Added glyph position compensation after autohinting
This improves glyph spacing by subtracting glyph position deltas from glyph advance generated by forced autohinting
2021-02-11 00:40:30 +01:00
fgallegosalido
54204058a4 Fixed copy assign operator in sf::Sound so it checks for self-assignment 2021-01-18 07:50:45 +01:00
Lukas Dürrenberger
5e5ac64c76 Update CMake minimum version to 3.7.2
- Most package managers already support CMake 3.7.2
- Enables additional CMake features to be utilized
2021-01-16 16:48:40 +01:00
Sevag Hanssian
0ef9647589 Fix NULL in Android EGL_DEFAULT_DISPLAY 2021-01-14 16:40:21 +01:00
hobby8
e85ed33fb2 Fixed Win32 requestFocus in multithreaded environment 2021-01-14 09:46:07 +01:00
Eren121
d29c51d82b Fix warning: control may reach end of non-void function [-Wreturn-type]
Fix warning and/or bug in androidKeyToSF() adding a default label for all keys _Keyboard::Unknown_
2021-01-14 09:44:00 +01:00
vfjpl
b939c794fb Don't needlesly call getSize() twice while setting texture 2021-01-14 09:40:21 +01:00
vfjpl
aa81cae6cf [sprite] don't set default rect before the user provided one 2021-01-14 09:40:21 +01:00
acsbendi
808adedf13 Replaced all reinterpret_casts with memcpys when reading from Packet. 2021-01-14 09:24:42 +01:00
acsbendi
1d1415c982 Avoid unaligned memory access when reading floats and doubles from Packet. 2021-01-14 09:24:42 +01:00
MrZeusTheCoder
5381308268 Remove Travis CI. 2021-01-12 11:35:59 +01: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
Franckltung
0535e322d4 Fixed setMouseCursorGrabbed 2021-01-06 13:11:59 +01:00
GermanAizek
9029118536 Refactor code and declaration more local 2021-01-05 20:46:22 +01:00
binary1248
a262636590 Fixed joystick POV values not being set properly for devices that are accessed via DirectInput. 2020-12-28 17:48:24 +01:00
David Carlier
4cbb34ddb4 NetBSD support proposal. 2020-12-07 16:08:00 +01:00
Jan Haller
d1f4db39c8 Link legacy_stdio_definitions.lib on newer MSVC -- fixes linker errors for sprintf() & Co.
Starting from Visual Studio 2015, some standard symbols are inlined and thus no longer linkable.
Code that was linked against earlier versions can use a compatibility library, as described here:
https://docs.microsoft.com/en-us/cpp/porting/overview-of-potential-upgrade-issues-visual-cpp?view=msvc-160#libraries
2020-12-06 13:35:00 +01:00
Jan Haller
ea7408e1ee Update stb_image (2.16 -> 2.26) and stb_image_write (1.07 -> 1.15)
Closes #1711 - race condition on stbi_failure_reason()

This does not only avoid the race condition on the failure string itself, but also makes failure state thread-local, meaning that each string will be correctly associated with the last image it failed to load.
2020-12-06 13:35:00 +01:00
Arthur Caputo
129774877b Implemented saveToMemory and saveImageToMemory. 2020-12-03 20:12:27 +01:00
Marukyu
c11ea7792f Round sample offset when seeking InputSoundFile
This fixes a bug that caused `sf::Music` to cease looping after certain
seeks due to the sample offset misaligning with the sound file's channel
count.
2020-12-03 20:12:06 +01:00
Bruno Van de Velde
7b84e46fac Added support for directional arrow resize cursors on Linux 2020-11-29 21:22:45 +01:00
Lukas Dürrenberger
3a95fdee35 Add apt-get update command for the CI
If the apt-get cache is outdated, it may end up trying to fetch a
package that no longer exists, so the cache needs to be updated.
2020-11-29 15:36:13 +01:00