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
binary1248
95ec9180ad
Wrapped XCB replies in scoped pointers.
2015-03-12 11:02:05 +01:00
binary1248
b2b35d0a43
Refactored Unix Window implementation.
2015-03-12 11:02:04 +01:00
binary1248
cd9b8b9a15
Fixed FLAC SoundStreams not checking for the EOF decoder state and looping forever.
2015-03-12 10:52:32 +01:00
Laurent Gomila
cc05fc785a
Removed old unused source file
2015-03-12 08:14:20 +01:00
Oleh Prypin
01d5d1b463
Replaced non-ASCII symbols with equivalents
2015-03-10 02:04:02 +02:00
Marco Antognini
aa9a6dec89
Fixed a few typos/style issues
2015-03-09 10:47:20 +01:00
Marco Antognini
0c2f306c17
Updated copyright year and Laurent's email address
2015-03-04 09:36:25 +01:00
Laurent Gomila
42a6967128
Fixed incorrect sample count reported by the WAV sound file reader
2015-03-04 09:36:25 +01:00
Laurent
6ab8d43b04
Enabled sfml-audio on iOS
2015-03-04 09:36:25 +01:00
Mario Liebisch
3424467896
Android: Restored old file reading behavior for audio stuff
2015-03-04 09:36:21 +01:00
Mario Liebisch
62933114ec
Android: Moved ogg's os specific header to build properly
2015-03-04 09:36:21 +01:00
Mario Liebisch
0d29d38d20
Android: Added precompiled libraries
2015-03-04 09:36:20 +01:00
Mario Liebisch
26f8c74c43
Android: Fixed building and linking
2015-03-04 09:36:19 +01:00
Marco Antognini
5cdb432d60
Fixed seeking after reaching EOF
2015-03-04 09:33:09 +01:00
Marco Antognini
1d24b52220
Silenced some warnings
2015-03-04 09:33:09 +01:00
Jonathan De Wachter
3fbfde39a5
Adjusted the new audio backends to compile on Linux
2015-03-04 09:33:06 +01:00
Laurent Gomila
5e0e645f46
Added support for FLAC audio files
2015-03-04 09:33:05 +01:00
Laurent Gomila
f0608eaed8
Redesigned the audio encoding/decoding classes to get rid of libsndfile
2015-03-04 09:33:03 +01:00
Mario Liebisch
34692d5a39
Android: Updated the toolchain file and CMake scripts
...
* Replaced the toolchain file with a new version based on [zuhowei's fork](https://github.com/zhuowei/android-cmake ), which enables x64 builds as well as support for the latest NDK. This breaks compatibility with old build directories.
* Removed the STL dependency from **sfml-activity** rather than relying on *some* implementation implicitly linked by default.
* Deleted *project.properties*, which wasn't supposed to be part of the repository code. You have to use the Android SDK to recreate it (`android update project --path to/your/example --target 1 --name SFML-Example`).
* Made it possible to select a STL implementation to be used (default: `c++_shared`). Keep in mind that not all available configurations are necessarily compatible with SFML.
* Fixed linker flags to be compatible with Nvidia's Nsight Tegra for Visual Studio.
* It is now possible to compile the Android version using Nvidia's Nsight Tegra for Visual Studio (requires up-to-date CMake and `CMAKE_SFML_SYSTEM` to be set to `Android`; keep in mind that this is still experimental and requires further CMake updates).
* Updated and renamed some Android specific CMake variables.
* Made `armeabi-v7a` the default ABI for Android builds.
2015-03-04 09:05:22 +01:00
Zachariah Brown
1de7644277
Updated copyright year and Laurent's email address
2015-03-02 13:41:54 -05:00
binary1248
d790114df8
Added a way for partial sends over non-blocking TcpSockets to be handled properly.
2015-03-02 11:26:31 +01:00
Jeffrey Clark
f47f89a759
Update stb_image to v2.02 and stb_image_write to v0.97
2015-02-28 12:14:58 +01:00
Thom Robinson (Macbook Pro)
d83ddd56e3
Fixed an issue in InputImpl::getSFOpenGLViewFromSFMLWindow failing to retrieve the SFOpenGLView from the contentview's subview when using fullscreen (see issue #782 ).
2015-02-23 12:17:04 +01:00
Lukas Dürrenberger
1f2bc148fe
Implemented sf::Color::toInteger() to complement the new sf::Color constructor.
2015-02-23 11:38:49 +01:00
FRex
88ec48cb85
Added a new constructor that takes single Uint32 to Color
2015-02-23 11:38:48 +01:00
Lukas Dürrenberger
8dd31f2f52
Fixed two trivial XCB related bugs.
2015-02-21 00:05:35 +01:00
Sebastian Kohl
cac4d58b3d
fixes for ios window size including device-orientation-changes and retina support
2015-02-10 23:45:21 +01:00
Sebastian Kohl
2cab5789af
iOS window now handles ContextSettings with stencil bits correctly
2015-02-10 23:43:56 +01:00
Thomas Galvin
9b0ce8888e
Added sending a resize event when the scaling factor changes on OS X
2015-02-10 23:38:14 +01:00
binary1248
5dbfb477a0
Moved stb_image into the extlibs directory.
2015-02-06 18:32:04 +01:00
Błażej Dariusz Roszkowski
c303d1f73b
Update WindowImplX11.cpp
2015-01-11 21:44:44 +01:00
Marco Antognini
8a8793e00c
Fixed typo in JoystickImpl.cpp to prevent crash on OS X
2015-01-10 23:49:20 +01:00
Lukas Dürrenberger
b7c0af3a58
Merge branch 'feature/xcb'
2015-01-07 01:17:48 +01:00
Stefan Schindler
f464e2502a
Removed link to Xlib. Replaced more Xlib calls by XCB calls.
...
Change-Id: I05d8b24508e88b604f7cc76622cc8af695204990
2015-01-06 11:04:44 +01:00
Stefan Schindler
132ae26ce1
Adjusted window focus changes to be XCB-compatible.
...
Change-Id: I0fe2c7d1698bce23b81f5c6a9db018f7a3fe49d8
2015-01-06 09:34:31 +01:00
Stefan Schindler
92ca32b2f9
Code adjustments to fix warnings.
...
Change-Id: Iba40752c6c5baaadc2a1b6a0fd03cbb0e3cde8a3
2015-01-05 22:23:16 +01:00
Lukas Dürrenberger
d4e6b84afc
Merge branch 'bugfix/al_context'
2014-12-30 10:44:08 +01:00
Stefan Schindler
896bd51b22
getPosition workaround for X11. Fixed memory leaks.
2014-12-29 08:59:20 +01:00
Stefan Schindler
17090367dc
Fixed WindowImplX11::getPosition.
2014-12-29 08:59:20 +01:00
Stefan Schindler
d17b4bad96
Source code format.
2014-12-29 08:59:20 +01:00
Stefan Schindler
c7549cd292
Adjusted and fixed XCB patch.
...
* Adjusted xcb_icccm calls (for recent XCB versions).
* Fixed wrong parameter order in xcb_icccm_set_wm_protocols call.
* Fixed XCB_BUTTON_RELEASE spawning a MouseButtonPressed event.
* Moved files from obsolete Linux/ to Unix/ directory.
* Added m_useSizeHints fix.
* setTitle() converts to UTF-8 before passing to XCB -> Unicode window title
support.
* Added XCB-util dependency.
* Replaced XSelectInput. Obtaining XCB connection when taking window handle.
* Adjusted X11 example for XCB.
* Removed AutoPointer, replaced by direct XCB and free() calls.
* Added key repeat workaround.
2014-12-29 08:59:20 +01:00
Lukas W
135c1716e8
Replaced Xlib by XCB implementation.
...
* Added FindXCB.cmake script
* Added AutoPointer wrapper for automatically free'ing pointers
* Huge commit: Ported linux implementation of sfml-window to xcb
* Xcb is now used for window creation, event loop etc
* As GLX is linked to Xlib, that part of the implementation
still uses Xlib.
* Also, some keyboard related (such as XLookupString) stuff
is still Xlib, as xcb does not have it (yet?).
* Replaced some enums with the xcb equivalents
2014-12-29 08:59:20 +01:00
binary1248
c4e450cac4
Added additional comments to AudioDevice.cpp, removed unnecessary checks from AudioDevice setters.
2014-12-28 22:09:31 +01:00
Jan Haller
1cfa5c6f1d
Replaced unsigned int with std::size_t for array indices/sizes
2014-12-28 18:21:59 +01:00
binary1248
32bafa98a4
Reduced lock contention when playing and immediately querying the status of a SoundStream.
2014-12-21 17:01:38 +01:00
binary1248
0ad401cc97
Made OpenAL context management more intelligent, in analogy to OpenGL context management. OpenAL contexts now only exist as long as AlResources require them and are destroyed when they are no longer required. Fixes #30 .
2014-12-21 16:57:58 +01:00
Nolan Poe
7ee0734470
Fix joystick pathname construction
2014-11-27 16:10:14 -08:00
Jan Haller
0a64f50605
Further corrections of typos and dash inconsistences
2014-11-18 11:14:18 +01:00
Lukas Dürrenberger
45810a1345
Fixed additional comments and documention spelling mistakes.
2014-11-18 01:02:07 +01:00
Marco Antognini
610111c687
Removed some trailing spaces
2014-11-17 17:32:48 +01:00
Marco Antognini
aef8f826f1
Fixed a few typos and improve some sentences in the documentation
2014-11-17 17:29:55 +01:00
Laurent
6ef3cb27a1
Added implementation of Window::hasFocus() on iOS
2014-11-11 17:00:23 +01:00
Lukas Dürrenberger
e257909a65
Fixes CMake issues with udev ( #734 )
2014-11-10 14:45:50 +01:00
Mario Liebisch
1271dff960
Reworked the UDev inclusion
...
* This fixes `SFML_DEPENDENCIES` missing the UDev library for static builds (issue #728 ).
2014-11-06 08:36:27 +01:00
Lukas Dürrenberger
c2761c317e
Added static_cast for sf::Uint8 ( fixes #731 ).
2014-11-03 11:01:17 +01:00
Marco Antognini
8928baa5ce
Fixed right click not detected on OS X with trackpads, close #716
...
Now that `+[NSEvent pressedMouseButtons]` can be used, part of HIDInputManager becomes obsolete and is therefore removed.
2014-11-03 10:25:41 +01:00
Mario Liebisch
ab4d4d7477
[Android] Implemented sf::Window::hasFocus()
2014-10-29 09:30:10 +01:00
Lukas Dürrenberger
27e373c5c5
Added missing WINVER to fix a compilation error with the TDM-2 compiler.
2014-10-12 18:43:35 +02:00
Lukas Dürrenberger
e2b3cdacc2
Merge branch 'feature/window_focus'
2014-10-09 14:56:16 +02:00
Marco Antognini
b2ba2307b3
Fixed documentation warnings
...
- WindowImpl.hpp:94:16: warning: parameter 'threshold:' not found in the function declaration
- SFContext.hpp:120:16: warning: parameter 'enabled:' not found in the function declaration
2014-10-07 12:00:34 +02:00
Jan Haller
60c4f95795
Implemented case differentiation for window focus/notification on Windows and X11
2014-10-06 22:21:46 +02:00
Alexandre Bodelot
c4435b8a31
X11: Notify instead of force focus
...
Signed-off-by: Jan Haller <bromeon@gmail.com>
2014-10-06 22:21:45 +02:00
Jan Haller
c98bd1eaba
Window focus on X11: check if window is viewable
2014-10-06 22:21:45 +02:00
Jan Haller
93d2789f70
Window focus: Added empty implementations for Android and iOS
2014-10-06 22:21:44 +02:00
Jan Haller
4155b2e449
Changed Window::requestFocus() return type from bool to void
...
Reasons:
* Consistent with other sf::Window methods
* User can test whether focus succeeded by subsequent hasFocus() call
* Implementation would have to call hasFocus() anyway on some systems
Also: minor code style change in Window::hasFocus()
2014-10-06 22:21:44 +02:00
Jan Haller
6a24eb5eec
Slightly adapted window focus documentation
2014-10-06 22:21:43 +02:00
Marco Antognini
85291debb4
Added OS X impl of requestFocus and hasFocus
...
Signed-off-by: Foaly <foaly.f@web.de>
Signed-off-by: Jan Haller <bromeon@gmail.com>
2014-10-06 22:21:42 +02:00
Foaly
b965ad198b
Added window methods to request and to check focus
...
Signed-off-by: Stefan Schindler <stefan@boxbox.org>
Signed-off-by: Jan Haller <bromeon@gmail.com>
2014-10-06 22:21:42 +02:00
Laurent
ef6391678e
Added (empty) implementation of JoystickImpl::getIdentification on iOS
2014-10-06 22:21:11 +02:00
Laurent Gomila
f99035bea1
Added support for 64-bit integers in sf::Packet
2014-10-06 13:26:28 +02:00
Stefan Schindler
f24ca9a840
Source code changes.
...
* Changed newlines to \n.
* Removed whitespace before colons.
* Fixed several alignments.
2014-10-06 01:18:47 +02:00
binary1248
b27cbd5036
Fixed font glyphs always being 2 pixels larger than they are supposed to be in each dimension, fixed wrong underline offset with some fonts, offset underline and strike through by half of their thickness so their center is positioned correctly, changed glyph and font metrics to use floats instead of ints to support scaling better.
2014-10-02 23:30:58 +02:00
Mario Liebisch
c36ea074d8
Joystick fixes/update for non-MSVC compilers
...
* This fixes building on non-MSVC compilers for Windows since they don't
know `_tcsnlen()`.
* Changed logic so SFML tries to retrieve the paths from the user key
first, machine key second (typical behavior for most registry settings).
* Removed the registry key length checks since that check is performed
inside`RegOpenKeyEx()` anyway and cut-off keys might point to the wrong
keys.
* Updated the error string retrieval to properly handle errors.
2014-09-25 13:06:42 +02:00
Marco Antognini
7159e4ba43
Improved cursor hiding on OS X
2014-09-25 01:18:29 +02:00
binary1248
330ea0bbe3
Fixed trying to truncate registry key names that did not need truncating. ( #701 )
2014-09-24 22:35:42 +02:00
Marco Antognini
6d122f428a
Updated OS X Pool Wrapper
2014-09-23 14:12:11 +02:00
Lukas Dürrenberger
dcba593e8f
Merge branch 'bugfix/joystick'
2014-09-23 10:46:13 +02:00
Marco Antognini
2427aaf3bb
Added support for OS X 10.10
...
Note: this only fix the compilation process. SFML was not thoroughly
tested on this OS yet.
2014-09-21 07:39:05 +02:00
binary1248
eec9f7750f
Amended based on comments from last commit.
2014-08-28 04:02:25 +02:00
binary1248
86c81f7458
Fixed memory leak in Unix JoystickImpl, refactored joystick code for all platforms, prevent accelerometers registering as joysticks on Unix.
2014-08-28 04:02:25 +02:00
Lee Zhen Yong
e5a98aa1d5
bug fix: compilation error in VS2013 64bit
2014-08-23 20:31:57 +08:00
Lukas Dürrenberger
ef1b9d6b20
Merge branch 'feature/strikethrough'
2014-08-19 23:02:21 +02:00
Łukasz Twarduś
fc7637681d
C++11/14 compatibility
2014-08-19 22:47:35 +02:00
Lukas Dürrenberger
c016ab5d0a
Merge branch 'bugfix/windows_dpi_scaling'
2014-08-19 22:37:55 +02:00
Lukas Dürrenberger
7c63c5885e
Merge branch 'bugfix/texture_max_size'
2014-08-19 22:18:38 +02:00
binary1248
f9ed3fdcb3
Added support for SetProcessDpiAwareness as well, on Windows versions that support it.
2014-08-19 22:01:59 +02:00
binary1248
3b9e246c83
Renamed SocketSelectorImpl's members to use camelCase, removed unnecessary checks from SocketSelector::add and SocketSelector::remove.
2014-08-18 21:43:57 +02:00
binary1248
eaab2c1c68
Fixed SocketSelector not being able to accept sockets with IDs larger than FD_SETSIZE on Windows ( #153 ) and added the same checks to other affected methods as well.
2014-08-18 21:43:55 +02:00
binary1248
34933520ac
Fixed Windows DPI scaling causing strange window behavior ( #679 ).
2014-08-18 19:02:40 +02:00
binary1248
7defb17e8c
Made a few functions in Texture and Shader a bit more thread-safe.
2014-08-13 08:44:48 +02:00
Maximilian Wagenbach
713407e159
Fixed a bug where calling Texture::getMaximumSize() before any GlResource is created would break context management.
2014-08-13 07:25:12 +02:00
STU
6ad7b21203
Fix a bug in the font system.
...
When the finding a rectangle for a glyph at a particular character size,
if the glyph happens to be wider than the current texture size, but less
high than the unused height in the texture, the texture will not be
correctly doubled in size (since only the height is checked).
In practice, this only occurs when finding the rectangle for the *very
first* glyph (so the texture is at its default 128x128 size): otherwise,
the glyph would need to be unusually wide compared to its height to
trigger the bug.
This will trigger a debug assertion in Texture::update(). With assertions
disabled, there are knock-on effects and most text at that character size
will fail to render.
2014-08-12 10:52:39 +02:00
Lukas Dürrenberger
7ace90986b
Merge branch 'bugfix/winxp_stack_align'
2014-08-12 09:45:59 +02:00
Mario Liebisch
621793a354
[Android] Rewrote key event handling
...
* This fixes duplicate TextEntered events and should properly handle
`AKEY_EVENT_ACTION_MULTIPLE` (including key down and key up events; as
far as possible; see comment). Unfortunately I don't have/know any IME
utilizing this, so can't test it.
* The back button is now mapped to the Escape key (best match without
adding new keys).
* The volume buttons are no longer intercepted by SFML and no longer
generate events.
2014-07-24 11:00:59 +02:00
Jonathan De Wachter
3f69629d0c
Merge branch 'android_improvements'
2014-07-24 10:05:09 +02:00
Jonathan De Wachter
f7561f5fa1
Fixed EGL surface not recreated in the right thread
2014-07-24 10:04:27 +02:00
Jonathan De Wachter
796c87295c
Improved readability of ?: operator
2014-07-24 08:35:23 +02:00
Foaly
5f3b6cb57a
Added a strikethrough text style to sf::Text. Fixes issue #243 .
2014-07-18 13:57:57 +02:00
binary1248
520025d904
Fixed a crash caused by the stack being unaligned when entering ThreadImpl::entryPoint if compiled by GCC or clang and run on Windows XP 32-bit. ( #412 )
2014-07-13 09:22:25 +02:00
Jonathan De Wachter
0a64da654c
Merge pull request #656 from MarioLiebisch/android-nosurface-display
...
[Android] Don't try to display without a surface
2014-07-08 18:03:42 +02:00