Commit Graph

1307 Commits

Author SHA1 Message Date
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
Mario Liebisch
0980e90ee4 Fixed potential buffer overrun in Win32 OpenGL error handling
This fixes issue #1245.
2019-01-23 15:27:40 +01:00
Tobias Widlund
bf92efe9a4 Remove usages of std::auto_ptr to get rid of warnings when building with
gcc 8.2+
2019-01-23 15:25:34 +01:00
Ceylo
82c2f4c05e All mobile-compatible examples now successfully link 2019-01-19 01:29:12 +01:00
hobby8
7e40f80f52 Fix OpenGL extensions not loading 2019-01-15 23:55:31 +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
binary1248
04131e1607 Fixed EGL incorrectly being passed the anti-aliasing level as EGL_SAMPLE_BUFFERS instead of EGL_SAMPLES. Fixes #1533. 2019-01-05 00:54:37 +01:00
binary1248
db80f6a60f
Make sure setActive(false) is called before the surface is destroyed in EglContext. Fixes #1530. 2018-12-29 13:36:01 +01:00
Dmitry Marakasov
119195ac20 Remove unneeded cast 2018-12-03 18:41:22 +01:00
Sven Hesse
de0ba77d3b Unix: Filter X visual by X screen
On an X set-up with multiple monitors running separate X screens (as
opposed to merging them into one large X screen using Xinerama), the
selected X visual needs to be one for the screen where the colormap,
window, and other X resources are created. In fact, all these need to
match, and the GL context as well.

Most of the SFML windowing and graphics code uses (X)DefaultScreen()
for that, which is fine. Combined with XOpenDisplay(NULL), this will
create the window on the screen (and monitor) selected by the DISPLAY
enviroment variable. :0.0 will be the first monitor, :0.1 the second,
etc.

However, XGetVisualInfo() will return visuals for *all* screens, not
just the default one. They seem to be ordered by screen number, but I
don't think the standard makes any guarantees there.

If the visual doesn't match up with the screen, this will abort with
an X error. BadMatch, in many cases.

This means that in addition to other filtering,
GlxContext::selectBestVisual() needs to filter the visuals by screen
number, otherwise SFML won't work at all on any screens but the first.

This fixes issue #724.
2018-10-26 21:15:25 +02:00
binary1248
ac98be760b Allow re-creation of the shared context as a core context if the user indicates they want a core profile context. Sharing of compatibility and core profile contexts is not possible on macOS which is why we need to have a way to re-create the shared context as a core context if required in this case. 2018-10-23 21:54:36 +02:00
Jonny Paton
d1d788fcb3 Add -ObjC flag to fix static linking on macOS 2018-10-15 21:07:54 +02:00
Maxime Alvarez
a5d45b910f Fixed the error message when the wrong bitmap font size is selected 2018-10-04 22:25:11 +02:00
Lukas Dürrenberger
3aa156c278 Fixed Windows cursor color conversion to be endian safe 2018-10-01 22:42:57 +02:00
binary1248
8554d210df Ensure the proper default framebuffer is bound when activating a RenderWindow. Fixes #1471. 2018-10-01 20:33:59 +02:00
Mario Liebisch
5e10e1f0c9 Windows: Fixed swapped colors for custom cursors
Previously the red and blue color channels were swapped,
since Windows expects a different channel order for DIBs.

This fixes issue #1464.
2018-09-08 19:04:39 +02:00
Bloodsword
46ce05cd9c Use XRRSetCrtcConfig instead of XRRSetScreenConfig, in order to fix issue #1226. It should also fix issue #1224. 2018-09-08 18:56:00 +02:00
Christian Widmer
87aaa9e145 Window/Unix: Fix compilation with glxext header versions >=20180525
When mesa updated their headers, they changed the include guard
from __glxext_h_ to __glx_glxext_h_, which breaks compilation
due to conflicting declarations. This commit modifies the preprocessor
directives to allow for compilation with older and newer mesa header
versions.
Fixes: #1472
2018-08-28 20:36:08 +02:00
Jeff
be3556d76a Fix Deadlock in Android Main Cleanup 2018-08-28 20:24:34 +02:00
Jonny Paton
2bba983f1d Disable autocorrect on iOS for issue #1473 2018-08-27 23:16:21 +02:00
Marco Antognini
aeca3dce41 Improved macOS implementation for Cursor
- remove Wait and SizeAll cursors as they don't look nice
   (Wait is not spining and produces a broken rendering,
    SizeAll is a simple white cursor.)
 - fix memory management for NSCursor.
 - ignore selector warnings.
2018-08-27 21:42:59 +02:00
Jonny Paton
0bcb2992a7 Implemented extra cursors on macOS 2018-08-27 21:42:59 +02:00
Elias Daler
83d05ea822 Fix CMP0072 CMake warning - also allow user to set OpenGL_GL_PREFERENCE 2018-08-14 21:21:01 +02:00
PKEuS
ff87e1c922 Reduced context locking&unlocking while creating textures 2018-08-13 22:30:44 +02:00
Radek Dutkiewicz
f4f7ef0d70 Fixed glyph cropping on sub-pixel positioning of text
Added 1 pixel padding for glyph uv's  and increased glyph quads boundaries by 1 pixel so the glyphs aren't cropped when text is being scrolled with sub-pixel increments
2018-08-09 23:25:39 +02:00
Mario Liebisch
dc0dfd601a
Squash duplicated sf::Font glyphs to single chars
Before this change, `sf::Font` always rendered/provided one character
per Unicode codepoint, even if that character wasn't represented by the
current font file or duplicated. This caused more texture space to be
used than necessary, which is especially apparent, when trying to render
a large amount of unhandled glyphs (the texture would literally fill up
with empty squares representing missing characters).
2018-08-03 09:58:26 +02:00
assematt
bcb013b45b Fixed bug in sf::Text when applying an outline color/thickness
When applying an outline thickness to sf::Text in combination with a
strikethrough and/or an underlined style, the ensureGeometryUpdate
function adds unwanted vertices if the string contains two consecutive
'\n' charecter.
To fix this we need to add an additional check in the if statements to
check if both the current and previous character it's a new line
character.
2018-07-29 00:48:28 +02:00
Ironbell
44d3e26766 Fixed two conversion warnings (C4267) 2018-07-28 20:00:30 +02:00
Ceylo
8d96976e4b On iOS, make sure to be notified if you forgot to include <SFML/Main.hpp> 2018-07-28 18:27:37 +02:00
Jonny Paton
bc570b22bf Use default supported rotations when none are specified 2018-07-28 18:22:16 +02:00
Lionel Aimerie (Pixium Digital)
2853b6b629 ANDROID flag fix to SFML_SYSTEM_ANDROID 2018-07-28 18:10:04 +02:00
Bruno Van de Velde
f22b9b7b71 ANativeActivity_onCreate is not exported in sfml-main (fixes #1457) 2018-07-27 20:13:07 +02:00
binary1248
235abae134 Fixed the Unix clipboard implementation causing an abort due to internal data races in Xlib. 2018-07-02 22:39:54 +02:00
Lukas Dürrenberger
b97a5be615 Fixed performance issue with reading WAV files
Calling tell() and thus std::ftell() for every reading iteration ate up
80-90% of the whole read call. By manually tracking the current position
the calls to tell() can be safely removed.
2018-06-10 22:29:46 +02:00
binary1248
93ad872f9e Fixed stale FBOs not being erased from the staleFramebuffers set after they have been deleted. 2018-06-04 23:19:04 +02:00
binary1248
d2ececed05
Fixed RenderTexture::display() dereferencing a NULL pointer when being called before RenderTexture::create(). 2018-06-03 19:40:30 +02:00
binary1248
1dcad60878 Fixed RenderWindow::setActive incorrectly trying to unbind an FBO during deactivation. 2018-05-28 11:09:02 +02:00
binary1248
b012266258 Fixed RenderTextureImplFBO's destructor incorrectly triggering deletion of other RenderTextureImplFBOs' active FBOs even when the context they reside in isn't being destroyed. 2018-05-28 11:06:15 +02:00
binary1248
bb3bd05823 Postpone generation of the RenderTarget ID to RenderTarget::initialize() so that a new ID is generated whenever the RenderTarget is re-create()ed. 2018-05-18 22:08:06 +02:00
Alexander Weinrauch
3da81aeecb Added missing import for memcpy and switched to std::memcpy 2018-05-03 22:04:11 +02:00
binary1248
cd1387479e Moved NvOptimusEnablement and AmdPowerXpressRequestHighPerformance out of sfml-main and into a macro the user can place in their own translation unit when they need it. Fixes #1192 2018-04-28 13:22:05 +02:00
binary1248
ee957f3420 Restrict WM_DEVICECHANGE messages to only be sent when HID devices are affected, restrict DirectInput EnumDevices to only enumerate over attached devices. Fixes #1415 2018-04-28 13:15:41 +02:00
binary1248
9bdd6d46dd Fixed TcpListener and TcpSocket not behaving as documented when calling listen or connect while the underlying socket object already exists, also adjusted UdpSocket to be consistent with connect and listen behaviour when calling bind while the underlying socket object already exists. Fixes #1346 2018-04-14 10:16:17 +02:00
David Carlier
9da895da8b further changes 2018-04-14 10:14:34 +02:00
David Carlier
763a9fb44e Adding empty joystick implementation handling for OpenBSD 2018-04-14 10:14:34 +02:00
David Carlier
4d0d331272 pushing upstream openbsd support from package. 2018-04-14 10:14:34 +02:00
Mario Liebisch
f4c25ac3fa Android work in progress changes 2018-04-14 09:59:01 +02:00
Mario Liebisch
1e800d9551 Android: No longer keep an active input stream longer than needed. 2018-04-14 09:59:01 +02:00
binary1248
0adde249ec Optimized RenderTexture performance when using the FBO implementation by removing unnecessary context switches and flushing. 2018-04-14 09:54:59 +02:00
binary1248
c706f11f29
Fix specifying a TCP listen backlog of 0 causing some systems to not accept any incoming connections. Fixes #1369. 2018-04-07 15:20:11 +02:00
binary1248
a1065737db Fixed OpenGL version string being parsed incorrectly on some platforms. Fixes #1249 2018-04-05 11:25:01 +02:00
irrmich
15d0f789c7 Add append/overwrite parameter to Ftp::upload. 2018-04-05 11:21:20 +02:00
Ceylo
ee08e18726 Modernize CMake files 2018-03-27 00:03:34 +02:00
binary1248
949e7aecae Fixed strict aliasing punning warning when generating the key of a glyph in Font.cpp. Fixes #1187 2018-03-26 23:57:37 +02:00
binary1248
421e8bb812 Added support for creation of a stencil attachment and multisampling to sf::RenderTexture. 2018-03-26 23:48:05 +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
Marty E. Plummer
5c20c67469 window: change case of Dbt.h inclusion
Windows should have no issue with this change, as it addresses
files in a case-insensitve manner. Said header is installed in
lowercase on mingw-w64, and won't build since commit
22f1b85515

Signed-off-by: Marty E. Plummer <hanetzer@startmail.com>
2018-03-23 13:33:53 +01:00
Mario Liebisch
49d611ee69 Fixed small joystick movement getting lost due to the set axes threshold.
This fixes issue #1329.
2018-03-16 19:21:59 +01:00
Jonny Paton
f963faa694 Find OpenAL correctly on iOS 2018-03-12 15:06:11 +01:00
Radek Dutkiewicz
deeb3a95f3 Fixed letter spacing being letter width dependent 2018-02-15 21:27:19 +01: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
Mario Liebisch
806813e937 Android: Removed custom toolchain file
This commit drops the previous custom CMake toolchain file for Android
in favor of CMake's new built-in toolchain for this (CMake >3.7.2).

This makes building SFML for Android a lot simpler and more straight
forward, working almost as smooth as other platforms.

To configure your build directory, all you have to do is defining just a
few variables the first time you invoke CMake.

**Required Variables**

* `CMAKE_SYSTEM_NAME` must be `Android`, so CMake knows we actually want
  to cross-compile.
* `CMAKE_ANDROID_NDK` must point to the NDK's installation directory,
  e.g. `/usr/android/ndk` or `c:/android/ndk`.

**Recommended Variables**
* `CMAKE_ANDROID_STL_TYPE` defines the STL implementation to be used.
  You should use `c++_shared`, although others might work.

**Optional Variables**
* `CMAKE_SYSTEM_VERSION` can be set to pick a specific SDK version other
  than the latest.
* `CMAKE_ANDROID_ARCH_ABI` defines the target architecture and ABI, for
  example `armeabi` or `armeabi-v7a`.

Based on your system, you might want to enforce a specific generator to
prevent issues, e.g. using `MinGW Makefiles`.
2018-02-11 20:15:54 +01:00
Alexander Weinrauch
0da25a0b87 Added support for the newest NDK version 2018-02-11 20:15:54 +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
binary1248
22f1b85515 Added support for interfacing with joysticks via DirectInput when it is available. 2018-02-10 14:47:37 +01:00
Maximilian Wagenbach
d972216c57 Fix memory leak in sf::Text. 2018-02-10 14:44:13 +01:00
Maximilian Wagenbach
14dd503c8a Generate shape outline vertices only if necessary. 2018-02-08 23:12:20 +01:00
hobby8
1062e95e39 Fixed Win32 modifier keys handling 2018-01-29 17:55:19 +01:00
Sérgio Agostinho
6d4e870e32 Correct docstring for seek 2018-01-29 17:51:46 +01:00
Alec Iverson
6d122e96e1 Restore fullscreen of a non-visible Unix window 2018-01-29 17:49:42 +01:00
Maximilian Wagenbach
65d26be74d Changed the implementation from offsets to factors. 2018-01-25 01:52:19 +01:00
Maximilian Wagenbach
7ef1cff5d1 Code style refactoring in sf::Text implementation. 2018-01-25 01:47:55 +01:00
Maximilian Wagenbach
812dea70d0 Implemented line spacing in sf::Text. 2018-01-25 01:47:54 +01:00
Maximilian Wagenbach
9e2f2eb27f Implemented letter spacing in sf::Text. 2018-01-25 01:47:54 +01:00
binary1248
61cdcd47ca Added sf::VertexBuffer class. 2018-01-25 00:26:38 +01:00
binary1248
fe39af4ec8 Worked around render target bug on macOS 2018-01-25 00:25:04 +01:00
Maximilian Wagenbach
c24de5fcaf Fix for broken text when the font is reloaded. 2018-01-17 00:48:38 +01:00
tlein
bba5808717 use a toolchain file for iOS instead of setting the necessary CMake variables in SFML 2018-01-09 22:06:55 +01:00
Lukas Dürrenberger
247b03172c Fixed casting type. 2018-01-02 19:59:49 +01:00
Lukas Dürrenberger
6f3282623f Fixed various type conversion/comparison warnings. 2017-12-07 14:46:19 +01:00
Marco Antognini
883ec9391d Added support for (some) Hat/POV axis 2017-12-06 17:59:39 +01:00
Marco Antognini
dd307cc23e Fixed crash with application messing hardware detection
This prevents crashes & reduces the amount of logging but does not actually make isKeyPressed work when using e.g. TeamViewer.
2017-12-06 17:58:31 +01:00
binary1248
3871e01a9f
Added missing code to reset the parameters of the target texture after copying using FBOs and make sure to flip the source data back into non-flipped orientation when blitting from a flipped texture. (Fixes #1319) 2017-11-19 01:33:57 +01:00
SoczuGGS
013d053277 First argument of alcCaptureOpenDevice #1304 2017-10-16 16:03:27 +02:00
binary1248
898c2350f7 Add equality comparison to sf::Transform and avoid uploading 64 bytes of data every time we want to reset the OpenGL matrix back to identity. 2017-10-12 20:41:05 +02:00
binary1248
516678fe1f Fix OpenGL texture coordinate pointer not being updated when the array enabled state changes but the RenderTarget's cache state doesn't. 2017-10-12 20:05:45 +02:00
Mario Liebisch
b3d6e4811d Fixed Wave file writer writing wrong header values
Previously when updating the header fields, SFML assumed the number of
samples written would be the number of samples per channel, which wasn't
the case. Therefore for stereo files the written file length was actually
twice the correct value. This fix uses the file size written as a basis,
no longer counting the samples written alltogether.

This fixes issue #1280.
2017-10-12 20:01:33 +02:00
Tyson Grant Nottingham
fc54dba3d7 Added support for extensible format PCM wave files. 2017-10-02 14:40:59 -07:00
Laurent Gomila
2aa70def6f Removed dependency to libjpeg, stb_image_write now supports writing JPEG files 2017-09-28 19:55:10 +02:00
binary1248
44944989e8 Fixed X11 key repeat handling not filtering out events from other windows. (Fixes #1223) 2017-09-28 19:15:47 +02:00
Maximilian Wagenbach
0dd24c8f1f Removed unused variable. 2017-09-07 03:11:40 +02:00
Anthony
23a345512d Applied ZeroMemory to DEVMODE struct n Win32 to prevent Uninitialized Read.
Set dmDriverExtra for EnumDisplaySettings. Reverted unneeded ZeroMemory for DEVMODE.
2017-09-06 00:03:12 +02:00
tlein
a2f448ab4c fix iOS build error when using @import 2017-09-05 23:22:40 +02:00
Luca Longinotti
58b7c2c48a Window/Unix: fix SFML issue #1228, getPosition() returns incorrect results on Linux depending on the used WM,
as well as not returning values that are in-sync with what was given to setPosition(x, y).
2017-09-05 23:18:27 +02:00
Cobaltergeist
93a2e9502d Added Loop Point support to sf::Music 2017-09-03 12:57:09 -07:00