Commit Graph

1603 Commits

Author SHA1 Message Date
Lukas Dürrenberger
65e357e901
Merge pull request #2099 from SFML/2.6.x
Backmerge 2.6.x to master
2022-05-10 23:39:34 +02:00
kimci86
9842c8fdf8 Fix incorrect cast when loading 16-bit samples from WAV file 2022-05-06 21:07:42 +02:00
Coder-Rahul-Y
9d401398e7 replacing NULL with nullptr in src/window file 2022-05-05 00:03:00 +02:00
CosminPerRam
6b4c287c20 Fixed unnecessary instantiation
Co-authored-by: kimci86 <kimci86@hotmail.fr>
2022-05-05 00:00:35 +02:00
CosminPerRam
27a82e733b try_emplace in Font::loadPage 2022-05-05 00:00:35 +02:00
Chris Thrasher
f320fc0db4 Remove local variables that shadowed global 2022-05-02 08:39:02 +02:00
Lukas Dürrenberger
9a6142bd22 Merge branch '2.6.x' 2022-04-27 08:12:25 +02:00
Radek Dutkiewicz
b6ca47e128 DRM Implementation
Ported sfml-pi DRM/KMS backend written by @mickelson 
Port co-authored by @substring

Co-authored-by: Andrew Mickelson <andrew.mickelson@gmail.com>
Co-authored-by: Gil Delescluse <frog2wah@gmail.com>
2022-04-26 07:44:14 +02:00
Lukas Dürrenberger
af209510d9 Merge branch '2.6.x' into master 2022-04-21 08:31:37 +02:00
kimci86
f7c88ee7ef Fix font pages not being created with the desired smoothness 2022-04-21 08:24:40 +02:00
Peter Chapman
470822cfe4 Fixed incorrect value for fully transparent pixels 2022-04-21 08:23:10 +02:00
Chris Thrasher
f8c1ec283a Print absolute paths when file not found
This is helpful when debugging why files won't load. By printing
the whole path we're making it more clear to the user exactly what
file is failing to load.
2022-04-21 08:22:19 +02:00
kimci86
28279c0686 Fix incorrect cast in Cursor::loadFromPixels Unix implementation 2022-04-13 08:49:20 +02:00
Chris Thrasher
92ece7dcc3 Remove iOS 7 workarounds 2022-04-12 08:13:18 +02:00
Lukas Dürrenberger
cb675b2bbc Merge branch '2.6.x' into feature/back-merge 2022-04-07 08:57:06 +02:00
binary1248
4afa91422f Added back the missing WINAPI calling convention declaration that was left out in 9a0cc4b7dc. Closes #2057. 2022-04-07 08:48:17 +02:00
kimci86
fae91bbbf2 Allow SoundStream::play to be called again after reaching the end 2022-04-06 12:01:42 +02:00
binary1248
8e95d1c73a Abort looping in SoundStream::streamData if an OpenAL error occurs that would have caused it to never terminate. Fixes #1831 2022-04-06 11:50:17 +02:00
Chris Thrasher
c5f3aeca72 Use std::quoted 2022-04-05 22:45:22 +02:00
Chris Thrasher
8f6903d008 Remove empty file 2022-03-25 17:03:46 +01:00
Vittorio Romeo
8838030d67 Fix -Wmissing-braces warning under clang 2022-03-18 08:34:41 +01:00
Chris Thrasher
d64cbff463 Remove redundant quotes when printing filesystem paths
operator<< for std::filesystem::path already adds quotes around the
path so we don't need to keep manually quoting them.
2022-03-15 15:21:45 +01:00
marwen.azouzi
79250d9584 Fixes the following compilation error
error: implicit conversion from 'size_t' (aka 'unsigned long') to 'CGFloat' (aka 'double') may lose precision [-Werror,-Wimplicit-int-float-conversion]
2022-03-15 12:52:50 +01:00
binary1248
3315456dc3 Replaced select with poll in JoystickImpl to function even when a large number of file descriptors are open. 2022-03-12 13:09:11 +01:00
Chris Thrasher
2e6c363e64 Mark external headers as SYSTEM headers
Among other benefits this ensures that the compiler doesn't emit
warnings on headers in these paths.
2022-03-10 21:26:39 +01:00
Chris Thrasher
7dfc7f0202 Use new sf::Vector2<T> utilities 2022-03-03 19:20:09 +00:00
Chris Thrasher
106da21dd1 Revert accidental filesystem conversion
"extension" in this context is not referring to a file extension.
2022-02-18 19:48:54 +00:00
Chris Thrasher
2f2284955e Use list(APPEND to simplify modifying variables 2022-02-17 14:39:07 +01:00
Vittorio Romeo
d55b5ec5b9 Minor include cleanup ('Window', 'RenderWindow') 2022-02-17 01:42:31 +00:00
Chris Thrasher
5f2c7bb898 Use std::filesystem::path 2022-02-17 00:40:29 +00:00
Chris Thrasher
e93adc65ee Add missing override keyword 2022-02-17 00:40:29 +00:00
Vittorio Romeo
a3b27b4a6d Use pre-increment when post-increment is not necessary 2022-02-17 00:39:35 +00:00
Vittorio Romeo
218154cf00 Add move semantics to 'Font', 'Text,' and 'Image' 2022-02-16 16:29:45 +00:00
Vittorio Romeo
b069f88127 Avoid overuse of 'std::endl' 2022-02-16 16:28:39 +00:00
Vittorio Romeo
5fee1aad7d Add '[[nodiscard]]' in more useful/ambiguous places, fix usages 2022-02-16 16:27:32 +00:00
Vittorio Romeo
83259a4a31 Add move semantics to 'sf::Packet' 2022-02-16 13:50:07 +00:00
Vittorio Romeo
32ad019304 Cleanup sf::err includes 2022-02-16 08:45:39 +01:00
binary1248
359fe9088c Fixed warnings reported by LGTM and Coverity Scan. 2022-02-16 08:26:17 +01:00
Vittorio Romeo
5b500ad2c2 Turn more compile-time constants into 'constexpr' variables 2022-02-15 13:27:10 +00:00
Vittorio Romeo
dbeef66693 Turn 'sf::Transform' into a 'constexpr' class 2022-02-10 23:51:47 +00:00
Vittorio Romeo
63ce7e4e92 Remove unnecessary includes from public-facing headers 2022-02-10 21:05:49 +00:00
Vittorio Romeo
0e419543f2 Make 'Color' constants 'constexpr' and add tests 2022-02-08 23:32:12 +00:00
Chris Thrasher
28f273b9c9 Add sf::Angle
Similar to sf::Time, sf::Angle provides a typesafe API for working
with angles and provides named functions for converting to and from
degrees and radians.
2022-02-08 22:52:37 +00:00
Vittorio Romeo
a880122836 Reintroduce 'SleepImpl' sleep implementation 2022-01-12 00:01:35 +00:00
Chris Thrasher
4586db91a9 Add SFML:: namespace to targets
This removes the sfml- prefixed targets from the export set. The sfml-
prefixed targets are still available within the build tree but not to
downstream users thus making this an API breaking change when compared
to the 2.x releases. To keep things consistent, usage of the sfml-
targets were replaced with their namespaced counterparts.

This has a number of benefits:

  1. It's more idiomatic. Modern CMake libraries are expected to
     have namespaced targets.

  2. Namespaced targets are less likely to collide with user-defined
     targets. No one will accidentally define a SFML:: target.

  3. If a namespaced target is not found by CMake, configuration
     will immediately stop.
2022-01-11 22:27:39 +01:00
Lukas Dürrenberger
3a402f241a Merge branch '2.6.x' into feature/back_merge 2022-01-08 12:28:34 +01:00
Chris Thrasher
79c2aadbcc Remove redundant 4-param sf::Rect<T> constructor 2022-01-06 20:04:03 +01:00
Jan Haller
2ea46c8702 Fix WindowImplX11 initialization 2022-01-04 19:21:32 +01:00
Vittorio Romeo
3dc8fc0923 Add 'NetworkUtil' for network module tests 2022-01-03 01:00:55 +01:00
Jan Haller
3b06972602 Update year to 2022 2022-01-02 23:06:31 +01:00
Vittorio Romeo
5ba6580568 Make 'Time' a 'constexpr' class 2021-12-28 16:52:52 +01:00
Chris Thrasher
14fff20eb8 Remove redundant API taking x,y pair instead of sf::Vector 2021-12-26 17:13:18 +01:00
kimci86
53594dfbe7 Fix null pointer dereference in Font 2021-12-23 17:03:16 +01:00
kimci86
d0c63f46fc Use a smart pointer to manage std::FILE pointer in FileInputStream 2021-12-22 02:35:45 +01:00
Vittorio Romeo
f6de7eca40 Use smart pointers to manage memory 2021-12-21 19:54:25 +01:00
Lukas Dürrenberger
e982d08f37
Merge pull request #1920 from SFML/feature/backmerge
Back-merge changes from 2.6.x to master
2021-12-20 14:22:56 +01:00
Lukas Dürrenberger
3cd45a283b Merge branch '2.6.x' into feature/backmerge 2021-12-20 13:44:56 +01:00
Chris Thrasher
14bbb0d1cc Unify toLower implementations 2021-12-20 08:29:05 +01:00
Pawel Paruzel
c824d3d57a Fix all macOS clang warnings
Co-authored-by: binary1248 <binary1248@hotmail.com>
2021-12-20 00:10:55 +01:00
Pawel Paruzel
4df16d19e5 Fix Clang warnings on Android 2021-12-20 00:10:55 +01:00
Vittorio Romeo
4a189d6602 Remove build logic for unsupported compilers 2021-12-19 21:51:53 +01:00
Vittorio Romeo
18bb892625 Improve compilation times by removing some includes and avoiding heavy dependencies 2021-12-19 18:13:07 +01:00
Vittorio Romeo
569a7549d4 Fix -Wmissing-braces warning under clang 2021-12-19 15:58:29 +01:00
Vittorio Romeo
a20d73aafa Make 'Vertex' a 'constexpr' class 2021-12-19 15:35:47 +01:00
Vittorio Romeo
ed201ce87a Make 'Color' a 'constexpr' class 2021-12-18 21:34:05 +01:00
Vittorio Romeo
cfeb7651b5 Make 'Rect' a 'constexpr' class 2021-12-18 17:29:41 +01:00
Vittorio Romeo
f6bd12c300 Replace 'sf::NonCopyable' with '= delete' 2021-12-16 22:39:38 +01:00
Vittorio Romeo
3c7fba0f96 Reduce compile-time impact of 'windows.h' 2021-12-16 22:39:07 +01:00
Pawel Paruzel
dfff93fe04 Update SFML Time classes to C++17
Ensure Clock uses a monotonic clock

Statically assert against low precision clocks

Allow suspend-aware clock for Android

Add descriptive documentation to sf::Clock
2021-12-15 12:52:27 +01:00
Vittorio Romeo
e9e353a7b2 Remove redundant APIs taking '(x, y)' in favour of ones taking 'sf::Vector' 2021-12-15 11:22:46 +01:00
Vittorio Romeo
bb854fa739 Strategic use of '[[nodiscard]]' in 'Audio' module 2021-12-14 15:19:37 +01:00
Vittorio Romeo
ab0378805d Strategic use of '[[nodiscard]]' in 'System' module 2021-12-14 14:02:05 +01:00
Vittorio Romeo
b33f4bb205 Replace SFML multithreading primitives with standard C++ ones 2021-12-14 01:07:29 +01:00
Anton Vasiliev
db38696c48 Fix calling convention for SetProcessDpiAwareness
A few changes ago a WINAPI was lost on SetProcessDpiAwareness function
declaration. This is incorrect because it changes calling convention
from stdcall to cdecl.
2021-12-12 23:28:56 +01:00
Vittorio Romeo
363e964acc Strategic use of '[[nodiscard]]' in 'Graphics' module 2021-12-10 01:27:05 +00:00
Vittorio Romeo
d02d3590fd Use 'std::optional' instead of 'std::vector' for temporary 'AudioDevice' 2021-12-09 22:35:14 +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
Vittorio Romeo
bc5b41657c Remove deprecated 'PrimitiveType::Quads' 2021-12-09 16:33:02 +00:00
Lukas Dürrenberger
cd517ba267 Merge branch '2.6.x' into feature/backmerge 2021-12-09 14:36:55 +01:00
Vittorio Romeo
6678fdd291 Remove deprecated 'Shader::setParameter' API 2021-12-09 13:12:03 +00:00
Vittorio Romeo
0e28212584 Remove deprecated overload of 'RenderWindow::capture' 2021-12-09 13:12:03 +00:00
Vittorio Romeo
e7a5039cd9 Remove deprecated overload of 'RenderTexture::create' 2021-12-09 13:12:03 +00:00
Vittorio Romeo
f6186d880d Remove deprecated 'Text::[set|get]Color' 2021-12-09 13:12:03 +00:00
Vittorio Romeo
21d594a765 Remove 'MouseWheelEvent' 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
2567551469 X11: fix XIM input method support 2021-12-09 09:04:59 +01:00
Vittorio Romeo
a23076d7bb Replace 'BoolType' with 'explicit operator bool' 2021-12-09 09:03:55 +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
f87f5a3f72 Use 'shrink_to_fit' instead of 'swap' 2021-12-08 16:07:15 +00:00
Vittorio Romeo
3914bd0062 Remove redundant synchronization for 'static' variable initialization 2021-12-08 16:07:15 +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
Vittorio Romeo
51ebeaf383 Change most associative containers to their respective 'unordered' version 2021-12-06 14:01:56 +00:00
Lukas Dürrenberger
e53d9e88a9 Fix regression in copyToImage
When the source image is flipped, we want to read the source data
backwards and thus need to keep subtracting the "iterator" on the source
data.
2021-12-06 08:08:50 +01:00
Pawel Paruzel
11020363b1 Fix wrong cast in sf::Packet
Add unit tests
2021-12-06 08:06:20 +01:00
Vittorio Romeo
93410afdc7 Delegate 'WglContext(WglContext*)' constructor to more general one 2021-12-05 18:09:36 +00:00
Vittorio Romeo
0f9e13a2bb Use list-initialization to zero-initialize 'JoystickImpl.hpp' structures 2021-12-04 23:12:57 +00:00
Vittorio Romeo
4358a303a7 Use emplacement operations to avoid unnecessary copies/moves 2021-12-03 19:34:16 +01: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
c74694c3b2 Fix conversion warnings for the Audio module 2021-11-30 11:25:58 +01:00
Lukas Dürrenberger
01836ccea4 Fix conversion warnings for the Graphics module
- Fix conversion and shadowing warnings
- Add SYSTEM indicator for stb_*, FreeType and other headers
2021-11-30 11:25:58 +01:00
Lukas Dürrenberger
0468612ac0 Fix conversion warnings for the Network module 2021-11-30 11:25:58 +01:00
Lukas Dürrenberger
e0f2356102 Fix conversion warnings for Unix
- Fix conversion & shadowing warnings
- For the System & Window module
2021-11-30 11:25:58 +01:00
Lukas Dürrenberger
92bc513d9f Fix variable name shadowing warning 2021-11-30 11:25:58 +01:00
Lukas Dürrenberger
e01aa152c1 Fix type conversion warnings 2021-11-30 11:25:58 +01:00
Lukas Dürrenberger
9052ccf218 Fix integer conversion warnings 2021-11-30 11:25:58 +01:00
Jan Haller
5bed29dd19 Fix conversion and other warnings, mainly on Windows 2021-11-30 11:25:58 +01:00
Jan Haller
761d9d81d0 Fix several unused warnings 2021-11-30 11:25:58 +01:00
binary1248
a759ccd5db Enable compiler warnings. 2021-11-30 11:25:58 +01:00
Anton Vasiliev
7fc026e3ec Add missing comment
Added missing comment to WM_DEVICECHANGE event in Window
implementation for Win32.
2021-11-30 09:52:35 +01:00
Vittorio Romeo
ef8fee5356 Simplify management of ActivityStates 2021-11-24 00:34:03 +01:00
Vittorio Romeo
dc88cbd81e Remove include directives for unused headers 2021-11-22 00:47:11 +01:00
Vittorio Romeo
c21e842007 Fix useless temporary sf::Lock 2021-11-19 23:17:14 +01:00
jqdg
2888d9c56e Improve high DPI handling on macOS 2021-11-18 21:34:07 +01:00
Corentin Schreiber
912422f486 Partial revert from 40a0584636dab89f3fa1747e63f26fa895036ce1
This reverts the change to addLine(), which no longer had its
outline drawn after the offending commit.
2021-10-25 22:47:32 +02:00
Corentin Schreiber
d950c9387a Simplify glyph advance calculation
Since auto-hinting is enabled, the advance will always be an integer
number of pixels. The actual fractional advance is handled by bearings.
https://github.com/SFML/SFML/pull/1827#issuecomment-939531582
2021-10-18 09:46:35 +02:00
Corentin Schreiber
4d2e5b18e2 Fix incorrect glyph rect for text outline 2021-10-18 09:46:35 +02:00
jqdg
3b1ff125b0 Code style and comments 2021-09-15 13:15:50 +02:00
jqdg
85e72faf5e Delete unnecessary message when closing window integrated in an NSView 2021-09-15 13:15:50 +02:00
jqdg
c80cbb9c97 Change handling of NSAutoreleasePool
GUI toolkits such as wxWidgets and Qt provide their own NSAutoreleasePool
objects. To avoid pool corruption, it is required that the pools be nested,
which the previous implementation did not guarantee. Furthermore, autorelease
pools should always be drained in the same context (function, loop, etc.) that
they are created, which was not the case with the previous implementation
(https://developer.apple.com/documentation/foundation/nsautoreleasepool).

This commit removes long-lived autorelease pools, and instead each function that
calls into the Cocoa API creates its own autorelease pool (using the new C++
AutoreleasePool wrapper object).

Should fix crashes in issue #1549 and similar.
2021-09-15 13:15:50 +02:00
Herman Semenov
c90d308b45 Fixed funcs for safe use in Win32/Win64
Signed-off-by: GermanAizek <GermanAizek@yandex.ru>
2021-08-18 19:32:58 +02:00
StrikerX3
ee8c4fdcda Use native Windows cursors to preserve the drop shadow 2021-08-13 00:51:01 +02:00
jqdg
86617c0550 Fix zombie windows in Mac OS when switching to/from fullscreen 2021-08-12 23:19:13 +02:00
jqdg
7ff34cdc86 Process Cocoa events after window close
Workaround issue where the window remains open if events are not
processed.
2021-08-12 23:19:13 +02:00
Vittorio Romeo
f162b3a037 Enable support for unity builds 2021-08-12 21:00:16 +02:00
Chase Warrington
47a4e88704 Try more possible names for OpenGLES library. Fixes SFML/SFML#1687 2021-08-09 18:16:37 +02:00
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
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
Guillaume Bertholon
05c83617de Add Min and Max blend modes 2021-03-23 21:09:53 +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
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
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
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
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
Jonny Paton
59df9d0d88 Implement smoothing for fonts 2020-09-20 19:17:11 +02:00
Corentin Schreiber
a96057866d Removed explicit link to Xcursor and rely on X11 interface target
Co-authored-by: binary1248 <binary1248@hotmail.com>
2020-09-13 20:35:48 +02:00
Corentin Schreiber
77145c130f Fixed bug of spurious vertical white lines with monochrome cursor 2020-09-13 20:35:48 +02:00
Corentin Schreiber
a2fde65113 Simplified and clarified code for monochrome bit/byte computations 2020-09-13 20:35:48 +02:00
Corentin Schreiber
9cb67520c7 Fixed black/white threshold computation for Unix monochrome cursors 2020-09-13 20:35:48 +02:00
Corentin Schreiber
d93cd6dd30 Fixed Unix monochrome cursor implementation with non-power-of-two images 2020-09-13 20:35:48 +02:00
Corentin Schreiber
603bc9ee41 Changed code formatting to follow SFML guidelines 2020-09-13 20:35:48 +02:00
Corentin Schreiber
54ac286a67 Added support for colored cursors in Unix implementation 2020-09-13 20:35:48 +02:00
Corentin Schreiber
fc573bc584 Added Xcursor to linux dependencies 2020-09-13 20:35:48 +02:00
Lukas Dürrenberger
9b596cc8d9 Update the copyright year to 2020 2020-09-12 19:34:34 +02:00
Bruno Van de Velde
241b542ca3 Added XFlush call to WindowImplX11::setMouseCursor 2020-07-22 22:45:56 +02:00
binary1248
3557c46ae6 Add support for buffered DirectInput data to reduce polling load when it is supported. Only attempt setting a DirectInput device's axis mode if the device reports having axes and its axis mode is not already set to absolute. If the axis mode still can't be set to absolute, blacklist the device so that any future attempts will abort early. This should help when dealing with broken device drivers that report being game controllers and not fully supporting game controller functionality. 2020-06-18 18:12:36 +02:00
scotth
95c98093e9 Adjustable processing interval in SoundStream #1517
Resurrection of previous PR with updated documentation. Added setter to
adjust processing interval in SoundStream for low-latency streams.
2020-06-18 17:36:59 +02:00
43187455e4 Added Font::hasGlyph() 2020-05-20 16:12:41 +02:00
Michal Marszalek
632a015663 Added readCurrentReadPosition in sf::Packet 2020-02-06 22:29:19 +01:00
Jan Haller
110fb75513 Rename FindVorbis -> FindVORBIS, for consistency with exported variables (e.g. VORBIS_FOUND)
Fixes #1626
2020-01-02 15:28:31 +01:00
binary1248
bf98acc61f Force OpenGL states to be reset when RenderTarget detects that a new context has to be tracked. In the case a context is re-created, FBO RenderTextures would not trigger resetting of the OpenGL states if they were drawn to first since re-initialization of the RenderTarget only happens when a context owner such as a RenderWindow is re-created. Fixes #1625. 2020-01-02 15:27:20 +01:00
Mario Liebisch
a1d4bc80c2 Changed Doxygen single-line comment format
Single line comments starting with `///` are interpreted by
Microsoft Visual Studio as documentation containing XML code.

Therefore single line comments starting with `///<` unfortunately
cause a parsing error, as IntelliSense will assume the `<` is the
start of an XML tag. This is not the case, but unfortunately,
IntelliSense will still complain about the following space
character rather than displaying the raw string. This commit alters
all such comments to start with `//!<` instead, which prevents the
issue.

This fixes issue #1622.
2020-01-02 15:25:57 +01:00
Radek Dutkiewicz
6a79ebf1b3 Fixed text rendering artifacts on Radeon cards, revised.
Reverted the padding used for drawing to 1.0 and increased the padding during glyph generation instead.
2019-10-29 20:15:39 +01:00
Radek Dutkiewicz
689f468e36 Fixed text rendering artifacts on Radeon cards.
Padding set to 1.0 was causing adjacent glyphs leaking on Radeon cards. The initial padding value for glyphs was too high anyway, the proper value should be 0.5 on each side.
2019-10-29 20:15:39 +01:00
binary1248
6272f853c1 Add support for creating Vulkan window surfaces. 2019-10-16 21:48:24 +02:00
Sztergbaum Roman
8886134156 fix(compilation): clang compilation on windows
When using LLVM-clang on Windows which share the same ABI as `MSVC` (that means clang is able to use MSVC compiled DLL)

the CMake library path was not updated resulting on not finding dependencies.

Command line: `cmake -G "Visual Studio 16 2019" -A x64 -T "ClangCl" -DCMAKE_CXX_COMPILER="C:/Program Files/LLVM/bin/clang-cl.exe" -DCMAKE_C_COMPILER="C:/Program Files/LLVM/bin/clang-cl.exe" ../`

Can be great to add it to CI on appveyor too.
2019-10-13 23:21:25 +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
binary1248
f2b8e6397b Remove the glFlush() call that became unnecessary after 3871e01a9f was merged. This also fixes glFlush() being called in a state in which no context would be active in specific use cases. 2019-09-04 15:26:38 +02:00
acsbendi
ea71dd2fe0 Fixed navigation bar not being entirely hidden. 2019-09-03 14:21:06 +02:00
binary1248
81a1da6a59 Revert "Added a VertexBuffer implementation to all Drawables that were rendered via VertexArrays."
This reverts commit 4dfad062e4.
2019-09-01 18:20:13 +02:00
Jonny
b00317e90c Initialise m_context correctly in SFContext constructors 2019-09-01 17:40:57 +02:00
Benjamin Porter
86672a3724 Fix: Win32 no longer hides cursor when hovering title bar, keeping in line with behaviour of other platforms. 2019-03-17 15:51:06 +11:00
binary1248
4043f71156
Fixed missing checks for empty vertex arrays when updating the vertex buffers in sf::Text. (Fixes #1558) 2019-02-20 20:26:23 +01:00
binary1248
4dfad062e4 Added a VertexBuffer implementation to all Drawables that were rendered via VertexArrays. 2019-02-19 10:05:59 +01:00