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