Commit Graph

1390 Commits

Author SHA1 Message Date
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
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