Commit Graph

1253 Commits

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