Commit Graph

1354 Commits

Author SHA1 Message Date
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
Marco Antognini
cd27b7df07 Added empty Android implementation for Clipboard API 2017-08-02 15:21:12 +02:00
Marco Antognini
0637a2ef99 Added iOS implementation for Clipboard API
NOTE this implementation was not tested, nor even compiled!
2017-08-02 15:21:11 +02:00
Marco Antognini
f30c896780 Added macOS implementation for Clipboard API 2017-08-02 15:21:11 +02:00
Ricardo Antonio Tejada
967db6c6f9 Added Unix implementation for Clipboard API 2017-08-02 15:21:11 +02:00
Ricardo Antonio Tejada
692fa5ab33 Added Win32 implementation for Clipboard API 2017-08-02 15:21:11 +02:00
Ricardo Antonio Tejada
4bc3c6f8bf Added Clipboard API 2017-08-02 15:21:11 +02:00
Lukas Dürrenberger
bc8a90b33a Fix an issue when sf::Clock is constructed in a global scope leading to crashes. 2017-08-01 17:51:58 +02:00
Marco Antognini
34ea68bd1d Added X11 implementation 2017-07-10 17:13:17 +02:00
Marco Antognini
219c14b0c2 Added "not supported" implementation for iOS and Android 2017-07-10 17:13:17 +02:00
Marco Antognini
b0b1f13269 Added Win32 implementation 2017-07-10 17:13:17 +02:00
Marco Antognini
f65459d0e1 Rewrote Cursor with new API and OS X implementation 2017-07-10 17:13:17 +02:00
binary1248
6f5a7d1b1b Implemented methods to set the displayed cursor to a system cursor type or custom bitmap image. 2017-07-10 17:13:17 +02:00
Dermoumi S
c43b5991af Fixed slight memory leak in sf::Font 2017-04-25 15:13:50 +02: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
hobby8
973ac8ddcd Skip glTexCoordPointer() call if not needed 2017-04-04 13:19:28 +02:00
Bruno Van de Velde
9b16bc7c67 Fixed typo in assert in Texture::update 2017-03-20 01:14:05 +01:00
Marco Antognini
756cb09bc3 Fixed window menu not working on OS X
Related to #1091, #527 and #1180.
2017-03-07 15:02:39 +01:00
binary1248
6b71456a55 Add methods to make use of GPU local texture data copying bypassing a roundtrip to the CPU and back, add sf::Texture::swap to enable swapping texture contents, fixed sf::Font::cleanup not shrinking its allocated pixel buffer storage when the user loads a new font using the same sf::Font object. 2017-03-02 14:36:21 +01:00
jonathan.r.paton@googlemail.com
f053871a6c If a window is open, only update joystick connections on WM_DEVICECHANGE message 2017-03-02 13:38:52 +01:00
Lukas Dürrenberger
113152673a Updated year in copyright notices to 2017. 2017-02-10 15:18:03 +01:00
binary1248
dacee0462e Make context disabling via wglMakeCurrent more tolerant of broken drivers by trying to pass a meaningful DC whenever possible and improve error messages output when WGL functions fail. 2017-02-06 14:44:32 +01:00
binary1248
d10d205bb3 Fixed Xlib crashing in sf::Window:setIcon because it expects the element data type passed to XChangeProperty to be unsigned long (architecture dependent 32-bit or 64-bit) instead of sf::Uint32 (architecture independent 32-bit) (#1168). Also adjusted other occurrences of wrong types passed to XChangeProperty with format set to 32. 2017-01-28 14:28:15 +01:00
binary1248
af5244d85d Replaced TransientContextLock implementation with a more elaborate one which relies on locking a single mutex and thus avoids lock order inversion. Fixes #1165. 2017-01-27 20:50:16 +01:00
binary1248
022f1590d8 Fixed GLX extensions being loaded too late preventing multisampling configuration information from being read during format selection. GLX extensions are now loaded as early as possible either in a constructor of GlxContext or GlxContext::selectBestVisual. 2017-01-23 16:52:28 +01:00
Fytch
c678cae498 fixed sf::Image::create
Discussion thread: http://en.sfml-dev.org/forums/index.php?topic=20875.0
Basically, the issue with sf::Image::create was, that it would either
occupy space, it doesn't need, because std::vector::resize doesn't
actually shrink the vector, or reallocate in an inefficient way by
needlessly copying the whole old image over. Neither did it grant strong
exception safety guarantee because it changed the non-throwing members
(m_size) prior to doing the critical stuff (reallocating) which may
throw. Changing the order and using a temporary
(create-temporary-and-swap idiom; see http://www.gotw.ca/gotw/059.htm)
fixes both of these problems.
2017-01-23 16:52:21 +01:00
Mario Liebisch
8c7c48481b Windows: Removed thread affinity changes in sf::Clock
* This should prevent timing issues on Windows XP and earlier with broken BIOS while avoiding unnecessary threading changes.
2017-01-23 16:52:11 +01:00
Cobaltergeist
5eaa748adb Addressed Seeking Quirks in FLAC Reader 2016-11-11 02:24:05 -08:00
Cobaltergeist
746bb9c8ca Changed fillAndPushBuffer to use a retry loop. 2016-11-08 08:28:05 +01:00
Cobaltergeist
2207af41e4 Fixed inconsistent seek behavior in SoundStream 2016-10-13 19:50:21 +02: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
39208efb55 Removed internal OpenGL contexts, reduced the number of temporary contexts that get created during runtime. 2016-10-06 08:28:51 +02:00
Marco Antognini
550fb2b60a Fixed inconsistency between doc and impl on OS X for the grab feature
Patch for #1133 and #1148.
2016-10-01 12:24:04 +02:00
binary1248
9996b7abb6 Converted Unix Window implementation from XCB back to Xlib. 2016-09-29 09:25:34 +02:00
louis-langholtz
fae3b65f05 Fixes bug #1049: iOS orientation change handling re-scales window size by backingScaleFactor. 2016-09-13 20:26:34 +02:00
binary1248
340ebfb272 Fixed possible hang when setting visibility if external window sources e.g. Qt don't forward visibility notify events to us. 2016-08-24 14:07:07 +02:00
binary1248
ae23cb39ba Fixed leak of XVisualInfo objects during GlxContext creation. 2016-08-24 14:06:47 +02:00
Hapax
7c0f534877 Changed uniform error message
Changed the error message for using uniforms to use the word uniform instead of the word parameter since parameter's deprecation.

A minor text output alteration to keep consistent with the new interface.
2016-08-24 14:05:47 +02:00
binary1248
ca03b646ef Fixed not being able to set the window icon properly on some Unix window managers (#1087) and added support for setting the window icon via ICCCM (_NET_WM_ICON). 2016-08-24 14:05:02 +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
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
Michał Marszałek
36bb3c4531 Added pointer checks to Android's resource stream.
This fixes issues #1056.
2016-07-21 10:39:18 +02:00
Victor Levasseur
61526628d1 Fix the cursor not always grabbed again correctly after a focus gain 2016-07-18 01:18:50 +02:00
binary1248
6f3273b7a6 Added Unix implementation of sf::Window::setCursorGrabbed (#394), fixed xcb_set_input_focus being called on a window before it is viewable on some window managers (#991). 2016-07-18 01:18:48 +02:00
Marco Antognini
427ce77d4e Added OS X implementation of sf::Window::setCursorGrabbed
This implementation uses the following workaround:
 - resize flag is removed from the window when the cursor is grabbed
 - when grabbed, the cursor is projected inside the view if needed
 - to avoid letting the user clic outside the view, the cursor is
   disconnected and manually moved using relative motion
 - the initial potential projection of the cursor results in a big
   delta for the next move and needed to be somehow ignored (see
   note about m_deltaXBuffer and m_deltaYBuffer in SFOpenGLView.h)
2016-07-18 01:18:46 +02:00
Marco Antognini
90c01d3030 Added iOS and Android 'not applicable' implementation of setMouseCursorGrabbed 2016-07-18 01:18:44 +02:00
Mario Liebisch
f7dcc10a70 Added ability to grab the cursor (w/ Windows impl.)
* When grabbed, the mouse cursor may not be moved outside a window's client frame.
 * Fullscreen windows always grab the mouse cursor.
 * The effect is only active while the SFML window is the active
foreground window.
 * Right now this is only implemented for Windows.

Signed-off-by: Marco Antognini <antognini.marco@gmail.com>
2016-07-18 01:18:42 +02:00
verrazano
afb8254b6d Changed primitive types to be grammatically correct. 2016-06-05 22:58:27 +02:00
binary1248
c15172e3fd Fixed FTP directory listing blocking forever if both expected responses are read from the command socket in a single call. (#1025) 2016-06-04 22:55:57 +02:00
binary1248
556371ea10 Fixed modifiers causing sf::Keyboard::Unknown being returned in key events on Unix (#1012). On Unix, SFML now tries harder to create proper key events on keyboards that shift keys which are typically unshifted on QWERTY layouts (this makes the numeric codes usable even on AZERTY layouts). 2016-05-10 08:40:18 +02:00
Maximilian Wagenbach
f49c156a31 Implemented stereo audio recording. 2016-05-08 23:29:25 +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
Lukas Dürrenberger
2c7b58f406 Fixes a bug where vorbis can't handle large buffers. 2016-04-22 17:22:16 +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
ab09af3eae Refactoring NSImage creation from raw pixels
(in prevision for custom cursors)
2016-04-14 12:26:49 +02:00
Marco Antognini
b457f5fa6c Fixed buggy window resize in fullscreen 2016-04-14 12:26:47 +02:00
Marco Antognini
2f53489f2a Refactored OS X implementation regarding SFOpenGLView 2016-04-14 12:26:45 +02:00
Marco Antognini
7b20093650 Replaced deprecated Cocoa methods 2016-04-14 12:26:44 +02:00
Marco Antognini
4c7edbcaf8 Fixed incorrectly computed desktop size & remove some dead code 2016-04-14 12:26:42 +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
Bruno Van de Velde
23ea17eab7 Assign value to m_stream in Font::operator= on android 2016-03-04 09:20:06 +01:00
Bruno Van de Velde
e77e680cad Initialize Font::m_stroker 2016-03-04 09:20:05 +01:00
Mario Liebisch
687f260a46 Android: No longer try to free the native activity when toggling the virtual keyboard 2016-03-01 10:29:08 +01:00
Maximilian Wagenbach
c78c8106da Fixed seeking in multi channel FLAC files.
Updated seek() documentation.
2016-02-22 23:43:34 +01:00
frex
698bbccd6a Made WAV file reader no longer assume that data chunk goes till end
of file to prevent reading trailing metadata as samples.
2016-02-22 18:37:05 +01:00
Mario Liebisch
499eb09642 Android: Copy the selected EGL context's settings to SFML 2016-02-22 17:32:56 +01:00
Glenn Smith
fe9b9c0cc7 Use kCGMouseButtonLeft instead of 0 for CGEventCreateMouseEvent to fix a compiler error 2016-02-19 20:57:00 +01:00
binary1248
043fb83cd8 Rewrite RenderWindow::capture to make use of a single texture transfer instead of transferring each row of the framebuffer individually. 2016-02-19 17:30:22 +01:00
Mrowqa
1763861b26 Added support for geometry shaders 2016-02-18 20:20:43 +01:00
Zachariah Brown
957cabb816 Added support for outlined text 2015-12-31 10:41:59 +01:00
Krozark
7ff9478061 add a new BlendMode::Equation : ReverseSubtract 2015-12-03 00:28:32 +01:00
Lukas Dürrenberger
63fba49d96 Fixed some initialization issues reported by Cppcheck. 2015-11-20 15:36:48 +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
Marco Antognini
d4683692e0 Fixed crash when resizing a window to a zero-height/width size (#984) 2015-10-14 12:16:40 +02:00
bumbar1
3a12fc6505 Added optional argument on which address to bind (socket). 2015-10-10 16:46:33 +02:00
Lukas Dürrenberger
6b9781475d Added support for VS 2015. 2015-09-30 08:32:30 +02:00
binary1248
811dfe1cf7 Added support for pbuffers on Windows and Unix. 2015-09-27 19:52:26 +02:00
Marco Antognini
2d1fab374f Added SoundSource::operator= and called it from Sound::operator=
Signed-off-by: Jan Haller <bromeon@gmail.com>
2015-09-27 18:54:42 +02:00
Marco Antognini
0c9ce3bef3 Improved memory management on OS X (related to #790) 2015-09-25 16:19:52 +02:00
binary1248
c4be28bd0f Changed the GlxContext implementation to always try to use glXCreateContextAttribsARB if it is available (was already done in the WGL implementation), specification of the context version attributes now only takes place when a context version greater than 1.1 is requested, requesting version 1.0 or 1.1 (default) will hint the driver to provide the most recent context version they support. 2015-09-22 00:56:27 +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
Maximilian Wagenbach
b7d7ac44f3 Added support for 24-bit .wav files. 2015-09-20 23:10:14 +02:00
binary1248
221e0700f7 Added NvOptimusEnablement and AmdPowerXpressRequestHighPerformance exports to sfml-main to inform the driver that the SFML application could benefit from using the discrete GPU in a multi-GPU environment. 2015-09-18 10:13:32 +02:00
Mario Liebisch
4f3c26660e Android: Accept touch events from "multiple" devices
Attempt to fix issue #953, although I can't really say whether this is
indeed some driver thing. All snippets I've found use exact comparison
only (usually switches).
2015-09-18 08:53:34 +02:00
Ferdinand Thiessen
c55b8c17e1 Fixing #935: Secure function against random data return. 2015-08-24 13:52:49 +02:00
Jan Haller
64ddb10f3d Improved diagnostic output for glCheck and alCheck macros
Changes:
* In addition to source file and line, the expression itself is output
* For better readability, the log is split across multiple lines
* alCheck() doesn't unnecessarily construct std::string when there is no error
* Unused #include directives are removed
2015-08-24 13:36:30 +02:00
Jan Haller
b7d984cdac Made implementation of glCheck and alCheck macros more robust
At the moment, glCheck(...) and alCheck(...) look like a function calls, which is misleading and can cause subtle bugs, for example when used in if statements. This change mitigates the situation by allowing those expressions to be used as single statements within if/else branches.

Initializations of OpenGL handles that previously involved glCheck() calls now need to be split into separate declaration and assignment.
2015-08-24 13:36:19 +02:00
binary1248
94dd1d73fa Fix _NET_WM_PING messages not being replied to properly. 2015-08-20 01:00:16 +02:00
Lukas Dürrenberger
a2e7dadf2a Fixed most inconsistencies in the Unix InputImpl.cpp. 2015-08-13 21:14:02 +02:00
Mario Liebisch
b3b48a507d Fixed image file extension detection
Previously this would fail on `jpeg` and would detect something such as
`notajpg` as `jpg`. This fixes #929.
2015-08-12 21:42:25 +02:00
binary1248
561eb82f14 Reverted to Xlib event handling since XCB event handling just breaks too many things. 2015-08-12 19:45:40 +02:00
Matthew Szekely
7c179193e6 Fixed RenderTexture::clear() not always working on certain hardware 2015-08-04 10:14:54 +02:00
Andrew Mickelson
a0c1302428 Fix keypad keys not being detected on Linux 2015-08-04 09:44:07 +02:00
Mario Liebisch
11357b354f Android: Updated the JNI/event handling code
* Local Java references are now freed after use.
* SFML is now able to consider (Android) events as unhandled and pass them.
* Hovering a pen over the screen no longer triggers movement events (untested).
2015-06-11 12:32:33 +02:00
Pierre-Luc Perrier
cadc4d801c Fix undefined behavior in ewmhSupported() caused by some window managers not null-terminating strings. Fixes #892 2015-06-04 21:09:13 +02:00
binary1248
0df1c97af7 Fixed keyboard mapping not being correct after the user changes their keyboard layout while an SFML application is running. Fixes #895 2015-06-04 21:08:07 +02:00
Jan Haller
6cec972338 Removed unnecessary sf:: prefixes 2015-05-20 17:30:23 +02:00
Mario Liebisch
717bd85537 Android: Fixed audio files not loading (and possibly crashing)
* Added a missing return value for Android's `sf::FileInputStream::open()`.
* Added a missing return value for Android's `sf::priv::ResourceStream::seek()`.
* Moved error logging for `sf::InputSoundFile` and `sf::OutputSoundFile` to `sf::SoundFileFactory`, since this allows more details on *why* reading/writing failed. Before missing files would return "format not supported".
2015-05-20 16:35:15 +02:00
binary1248
11e2901403 Whitelisted SHAPE events that might be sent by some compositing window managers even if we didn't select them. Fixes #879 2015-05-20 16:34:33 +02:00
binary1248
45577de60a Added support for GL_EXT_texture_edge_clamp as well since some GL implementations don't expose GL_SGIS_texture_edge_clamp even when clamp-to-edge functionality is supported. Fixes #880 2015-05-20 16:33:57 +02:00
binary1248
e38a26ec25 Corrected typo. 2015-05-20 16:33:11 +02:00
Tiaan Louw
d2adccfe2e Check Android API level
We check the API level before using constants that use API levels that
your device doesn't support.
2015-05-20 16:32:22 +02:00
Tiaan Louw
46a625dde5 Make sure the window still exists before we access the dimensions on it 2015-05-20 16:29:48 +02:00
Stefan Schindler
608b4fb28d Only spawn Resized event when window size changes. 2015-05-08 11:27:44 +02:00
binary1248
93f389e92e Added missing GLEXT defines to the OpenGL ES block in GLExtensions.hpp. 2015-05-01 12:25:46 +02:00
Chase W
653c0fdb30 Fixed inconsistency between sf::Touch::getPosition and touch events. 2015-04-29 11:54:30 -04:00
Jan Haller
e0174545e6 Fixed Color::toInteger() not being const-qualified 2015-04-28 21:44:31 +02:00
binary1248
e0d27358fb Added OpenGL vendor and renderer string checks to warn if the application is being run using a non-accelerated OpenGL context. 2015-04-21 22:21:42 +02:00
binary1248
db8c237f6a Fixed Unix key repeat not being disabled even after setKeyRepeatEnabled(false) is called. (#871) 2015-04-20 01:36:45 +02:00
binary1248
17570c324e Bumped back the sfml-graphics OpenGL version requirement to 1.1. Everything beyond 1.1 functionality is optional, with warnings emitted when necessary. 2015-04-15 02:56:31 +02:00
binary1248
e80bf0ba92 Fix whitespace: Convert tabs to spaces and remove trailing whitespace. 2015-04-15 01:53:43 +02:00
Marco Antognini
4992243857 Fixed warning about switches 2015-04-15 01:12:23 +02:00
binary1248
53f61e9596 Removed stricter Unix visual requirements for now and increased Windows pixel format array size from 256 to 512 to make sure all pixel formats are taken into consideration on systems that support that many. 2015-04-15 00:46:21 +02:00
binary1248
ac3a5394ca Made Windows and Unix pixel format selection more consistent with each other, fixed pixel format evaluation scoring formats with better settings equal to formats with worse settings. 2015-04-14 23:56:11 +02:00
binary1248
bbe2c656e6 Fixed getting relative mouse position on Unix returning screen coordinates instead. 2015-04-08 09:37:25 +02:00
binary1248
01f46ce231 Fixed GL_ARB_compatibility not being detected causing false compatibility warnings to be emitted when a 3.1 context is created. 2015-04-08 09:31:16 +02:00
Jan Haller
22c9674389 Combined separate horizontal/vertical mouse wheel event types
Instead of separate Event::MouseWheel{Vertical,Horizontal}Moved events, a single Event::MouseWheelScrolled event is used for all wheel-related events.
The new Mouse::Wheel enum is used to differentiate between mouse wheels.
2015-04-07 00:24:52 +02:00
binary1248
534a23e074 Fixed not being able to transition into fullscreen state on window managers that disallow it when Motif or size hints are set, added workaround for fullscreen bug on Openbox. 2015-04-06 01:06:02 +02:00
binary1248
3ec672afe9 Removed XCB dependencies (EWMH, ICCCM, Keysyms, Util), added XCB libraries to FindSFML.cmake, fixed checking for X11 library checking for XRandR instead. 2015-04-06 01:06:00 +02:00
Lukas Dürrenberger
0b221921ed Switched to the stdio FILE* API for handling streams to provide the expected behavior to Vorbis. 2015-04-01 13:19:47 +02:00
binary1248
0076ea50db Replaced Unix joystick enumeration with a fully native udev implementation which supports an unlimited number of devices (still limited higher up by sf::Joystick::Count though). 2015-03-31 21:03:37 +02:00
binary1248
bbfef72fc6 Replaced inotify joystick polling with udev monitoring, added more precise checking whenever connection/disconnection occurs so full scans are no longer needed, fixed up USB attribute querying and added udev property querying as the primary method of getting joystick property data, added a fallback method of getting the joystick name if JSIOCGNAME fails. 2015-03-31 21:03:36 +02:00
BlueCobold
e78f1bd4ea Fix for the destructor of SoundBuffer. A crash appeared when a sound still had been attached at the time of destruction. 2015-03-31 20:45:52 +02:00
binary1248
4add6faf06 Added back accidentally removed headers. 2015-03-30 01:26:20 +02:00
binary1248
7287b77c5d Replaced a few Xlib keyboard handling functions with XCB keyboard handling functions, fixed modified key events returning sf::Keyboard::Unknown on Unix (#847), fixed sf::Keyboard::Quote and sf::Keyboard::Tilde events not functioning properly on Unix, optimized keycode lookup when using sf::Keyboard::isKeyPressed() on Unix. 2015-03-29 22:29:49 +02:00
binary1248
5aaf9a6115 Fixed RandR not resetting the original screen configuration in some situations. 2015-03-29 22:29:47 +02:00
binary1248
39cdebfe71 Add ScopedXcbPtr to CMakeLists.txt, replaced xcb_query_extension with xcb_get_extension_data where possible, removed decorations from fullscreen windows, fixed DRI2 events not being forwarded as Xlib events leading to Mesa not functioning correctly in certain situations. 2015-03-29 22:29:45 +02:00
binary1248
bd34935f2a Fixed XCB events being handled by the wrong windows in multi-window applications (#843). 2015-03-29 22:29:44 +02:00
binary1248
c229877313 Fixed numerous bugs/undefined behavior in the XCB implementation, added a lot more XCB error handling and reporting, make use of xcb-ewmh to handle EWMH for us, refactored some code out of the Window constructor into their own methods, fixed fullscreen state transition not working on window managers that create temporary parent windows when the window is being mapped, removed automatic fullscreen pointer grabbing since that is the subject of #614 and might not be desired in some situations. 2015-03-29 22:29:42 +02:00
binary1248
623f63a48a Fixed RandR extension not being loaded causing Unix screen mode switching to fail, added several more error checks to RandR operations, added support for rotated resolutions on Unix (#771). 2015-03-29 22:29:40 +02:00
binary1248
3faf2a93d6 Reverted back to hard switching the fullscreen video mode when necessary on Unix systems, added support for automatically choosing between EWMH fullscreen setting when supported and manual fullscreen setting as the fallback, added support for window responsiveness checks. 2015-03-29 22:29:38 +02:00
Stefan Schindler
c08a56bf9f Adjusted WindowImplX11.
* Replaced Xlib event names by XCB equivalents.
* Removed XCB_CW_OVERRIDE_REDIRECT in order to let the WM handle mapping
  the window to the full screen.
* Fixed mouse grabbing in fullscreen mode. Removed keyboard grabbing to
  allow the user to "alt+tab" out of the window.
* Completely revised fullscreen handling: The screen's resolution is not
  changed at all anymore. Instead the WM is asked for going fullscreen
  and the view is scaled.
2015-03-29 22:29:37 +02:00
Lukas Dürrenberger
7b4610b55b Merge branch 'feature/gl_dev_new' 2015-03-26 10:04:12 +01:00
Laurent Gomila
3ca6e0f346 Added support for 32-bits samples in WAV files 2015-03-25 22:53:56 +01:00
Zachariah Brown
ae53cfd0d9 Added X11 back to the linker list for FreeBSD 2015-03-25 22:29:33 +01:00
binary1248
cee6263a01 Removed separate GLXFBConfig selection during context creation (it is chosen to match the window's already selected visual), reverted to conservative context creation only using glXCreateContextAttribsARB when absolutely necessary. 2015-03-23 16:16:09 +01:00
binary1248
3996faa54c Fixed requesting an unsupported OpenGL context version causing X to close the application, fixed GlContext initialization not updating settings properly, added error checks to GLLoader.cpp and fixed GL errors occurring when using a >= 3.0 OpenGL context. 2015-03-23 16:16:08 +01:00
binary1248
c17486857f Implemented methods to retrieve the OpenGL handles from sf::Texture and sf::Shader. 2015-03-23 16:16:07 +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
binary1248
1d16748ed7 Added check to context creation to warn the user of an incompatible mismatch between the context they requested and the context that was created. 2015-03-23 16:16:05 +01:00
binary1248
6b3c7f0cd6 Added copyright notices. 2015-03-23 16:15:53 +01:00
binary1248
c30a3da8d5 Moved platform OpenGL loading code into their respective context implementations. 2015-03-23 16:10:30 +01:00
binary1248
38f0464ab0 Added MESA and SGI swap interval implementations in order to fix v-sync not being set properly on some Unix systems (#727), added error message when setting v-sync fails on Windows systems. 2015-03-23 16:10:29 +01:00
binary1248
3e397bff4b Replaced GLEW with (a highly customized) loader generated by glLoadGen, restructured GLExtensions.hpp for easier extension bookkeeping, make use of GLEXT definitions in Shader.cpp and Texture.cpp as well, replaced GL_MAX_TEXTURE_COORDS with GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, implemented flags for requesting a debug or core/compatibility profile context, changed the default context version from 2.0 to 2.1. 2015-03-23 16:10:28 +01:00
binary1248
ea2bf65186 Fixed GLX context creation and reorganized code to be more understandable. 2015-03-23 16:09:18 +01:00
Lukas Dürrenberger
d53338298a Added the FindFreetype.cmake CMake module, set the minimum require CMake version to 2.8.3 and fixed the paths to the FreeType headers. 2015-03-21 10:30:31 +01:00
binary1248
e17cc520d6 Implemented support for horizontal mouse wheel scrolling as well as high-precision scrolling on Windows and OS X. 2015-03-16 10:35:34 +01:00
Laurent Gomila
81a8e4e4ca Fixed potential buffer overflow in SoundFileReaderWav 2015-03-15 14:44:16 +01:00
Lukas Dürrenberger
9d3024e13e Fixed the issue where trying to open a stream didin't reset the stream first. 2015-03-12 11:31:17 +01:00