Commit graph

1194 commits

Author SHA1 Message Date
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
Jonathan De Wachter f491e94297 [Android] Redirect error messages to logcat by default 2014-07-08 17:59:33 +02:00
Lukas Dürrenberger e625d79a04 Merge branch 'bugfix/soundstream' 2014-07-07 09:44:45 +02:00
Mario Liebisch e73e408885 [Android] Don't try to display without a surface
* Android apps would still try to call `eglSwapBuffers()` even though
they don't have a valid surface right now (i.e. due to being inactive/in
background).
2014-07-05 18:42:41 +02:00
binary1248 57941c1696 Fixed invoking a virtual method (onSeek) in the destructor of SoundStream. 2014-07-05 16:19:30 +02:00
binary1248 74e425a9ed Made sure SoundStream adhered to its documented behavior, added a hint to SoundStream and Sound documentation regarding setting the offset while stopped. 2014-07-04 22:24:48 +02:00
Foaly 09aae0240d Fixed calling SoundStream::setPlayingOffset() unpausing a paused SoundStream (#203), guard m_isStreaming by a mutex, fixed calling SoundStream::pause() before the stream thread starts not properly pausing the stream (http://en.sfml-dev.org/forums/index.php?topic=15197.0), minor documentation fix in SoundStream. Signed-off-by: binary1248 <binary1248@hotmail.com> 2014-07-04 20:48:23 +02:00
binary1248 362a590454 Fixed FTP download and upload file sizes being limited by available RAM (#565). 2014-07-04 20:40:18 +02:00
Laurent Gomila 471873dff9 Fixed typo in the sfml-graphics CMake file 2014-07-03 08:01:44 +02:00
Jonathan De Wachter dd6b54d0eb [Android] Forgot to add two lines to the previous commit 2014-06-26 07:55:49 +02:00
Jonathan De Wachter c462f7cd0a [Android] Got rid of the unnecessary additional event container 2014-06-26 07:33:03 +02:00
Jonathan De Wachter 57ca180d8d [Android] Hide status and navigation bar only if the fullscreen flag is on 2014-06-26 07:32:44 +02:00
Jonathan De Wachter 73008293ba Window style constraints are handled differently on mobile OSes 2014-06-26 05:22:49 +02:00
Jonathan De Wachter cf52687203 [Android] onCreate nows waits for sf::Window to be created 2014-06-26 05:15:25 +02:00
Jonathan De Wachter fb81ddfdcb [Android] VideoMode::getDesktopMode() returns the physical scren size in pixels 2014-06-26 04:56:06 +02:00
Jonathan De Wachter d73418261b [Android] Do not hardcode java const values (JNI) 2014-06-24 07:40:16 +02:00
Jonathan De Wachter ed7c80f6bb [Android] No longer force people to have debug version installed 2014-06-24 06:39:11 +02:00
Jonathan De Wachter 3e9f842e59 [Android] Workaround transparency issues on some Android devices 2014-06-21 21:30:58 +02:00
Jonathan De Wachter b542785ed9 [Android] Keep the screen turned on and bright 2014-06-21 21:30:58 +02:00
Jonathan De Wachter f0345d5201 [Android] Hide the navigation bar 2014-06-21 21:30:58 +02:00
Jonathan De Wachter a88bab1d59 [Android] Hide the status bar 2014-06-21 21:30:57 +02:00
Jonathan De Wachter a4846db016 [Android] Enable the usage of debug version of SFML libraries (#643) 2014-06-21 21:10:45 +02:00
Jonathan De Wachter 214c9b0662 [Android] Removed dependency on the window module from libsfml-main.a 2014-06-21 21:10:31 +02:00
Jonathan De Wachter c522f6d596 Merge pull request #642 from MarioLiebisch/android-fingerfix
[Android] Fixed redundant touch moved events
2014-06-21 20:18:41 +02:00
Jonathan De Wachter 6302cc0762 Merge pull request #641 from MarioLiebisch/android-statesfix
[Android] Fixed the app crashing on rotation
2014-06-21 20:07:57 +02:00
Mario Liebisch 121c3b2fd7 [Win32] Fixed Unicode inconsistency
For Unicode builds this change is more cosmetic, but it should fix
SFML's window class being registered as "S" rather than "SFML_Window"
for non-Unicode builds.
2014-06-21 00:06:39 +02:00
Mario Liebisch 1bd62b4d14 [Android] Fixed the app crashing on rotation
Rotating the screen will restart the app with the new window/orientation.
2014-06-21 00:04:45 +02:00
Mario Liebisch bc73b12428 [Android] Fixed redundant touch moved events
Previously moving any finger would create `sf::Event::TouchMoved` events
for all fingers, even if their position didn't change at all.
2014-06-21 00:04:15 +02:00
Mario Liebisch 5b559f1c08 [Android] Added missing sensor event generation 2014-06-20 23:56:33 +02:00
Jonathan De Wachter 60c34bff19 [Android] Made the remaining sensors available 2014-06-13 15:58:58 +02:00
Jonathan De Wachter 2874ac4aab [Android] Don't disable sensors since it's handled at higher-level 2014-06-13 15:58:50 +02:00
binary1248 bdcdfffe11 Replaced Text underline offset/thickness with nicer font dependent values. 2014-06-12 00:49:23 +02:00
binary1248 da79517b36 Fix bitmap font resize failing silently when resizing to an unsupported pixel size (#448), fixed getKerning returning scaled values even for bitmap fonts. 2014-06-12 00:49:23 +02:00
rafoudiablol 0124ad0a85 Show error message everytime a shader uniform's location can't be found.
Adjusted code style (TankOs).

Original commit message by the author:
  Show only 1 once the message "Parameter not found"

Conflicts:
  src/SFML/Graphics/Shader.cpp
2014-06-11 14:43:28 +02:00
Stefan Schindler 228038fa8a Check socket descriptor limit. #153
When calling select(), there's an upper limit for the socket descriptor
which is defined as FD_SETSIZE. When the socket descriptor is higher
than FD_SETSIZE, a call to select() will not work as expected, at least
for the proper sockets.

This patch adds an error message for this case.
2014-06-11 14:35:15 +02:00
Mario Liebisch 159176f5ba [Android] Fixed TouchBegan reporting wrong coordinates
* So far `sf::Event::TouchBegan` always reported the coordinates of the
first pointer/finger.
2014-06-10 10:15:41 +02:00
Lukas Dürrenberger 265c411c39 Merge branch 'bugfix/osx-implementation' 2014-06-04 11:48:31 +02:00
Marco Antognini 46be2159cb Fixed OS X implementation of sf::Mouse::(get|set)Position
The code was not updated at all when support for retina display was introduced.
2014-06-01 20:07:24 +02:00
Jan Haller bc1127da5b Output error message and abort program when XOpenDisplay() fails
Fixes issue #508.

When the X11 display could not be opened, the application crashed without notice. Now, a meaningful error message is output to std::err() and std::abort() is called, causing immediate program termination.
2014-05-28 12:05:46 +02:00
Marco Antognini 5912d205d3 Removed a dead store in sf::Ftp implementation 2014-05-28 11:18:39 +02:00
Marco Antognini 4f2c6c4489 Fixed potential memory leaks on OS X
And renamed create* methods to new* to follow more closely Objective-C
naming convention regarding memory management.
2014-05-28 11:18:38 +02:00
binary1248 1dae89a8e0 Moved glClientActiveTexture and glActiveTexture calls before glEnable(GL_TEXTURE_2D) to make sure texture unit 0 gets affected. (#523) 2014-05-27 10:56:11 +02:00
Mario Liebisch ff869777a9 Fixed building for OpenGL ES 1.1 platforms
* Added proper extension handling for `glBlendEquation` and related
  constants (required for OpenGL ES 1.1).
2014-05-27 10:23:09 +02:00
Remco van Oosterhout 3fa1d0e03d Fixed issue where the viewport's width and/or height could be off by 1 pixel
Signed-off-by: Stefan Schindler <stefan@boxbox.org>
2014-05-27 09:14:00 +02:00
Joshua Adam Reisenauer 0375d7588f Fixed soundbuffer contents not being able to be updated when still attached to sounds (#354), sounds now detach from their buffer when it is reset. Signed-off-by: binary1248 <binary1248@hotmail.com> 2014-05-26 23:39:07 +02:00
binary1248 e6b5ce1f27 Make sure texture unit 0 is active when reseting RenderTarget states (#523), fix RenderTarget not clearing when a texture used as a RenderTexture color attachment is left bound in a different context (http://en.sfml-dev.org/forums/index.php?topic=9350.0). 2014-05-26 22:50:44 +02:00
Marco Antognini 3f61214571 Improved OS X implementation
It makes sure the notifications sent to SFOpenGLView are only from its window.
2014-05-26 15:37:33 +02:00
Marco Antognini 7d4235a38f Optimised OS X implementation regarding scaling factor
This also adds support for changing the screen profile or moving the window to another screen.
2014-05-26 15:37:09 +02:00
Lukas Dürrenberger a3ab6efa23 Fix application crash when calling Shader::isAvailable() #608. 2014-05-23 10:44:10 +02:00
Marco Antognini 2215f55ef9 Moved more responsibilities to SFOpenGLView
These changes will ease the implementation of mouse grab (#394)
2014-05-23 09:52:18 +02:00
Marco Antognini aa47dd5d33 Removed old documentation that doesn't apply anymore 2014-05-23 09:52:18 +02:00
Marco Antognini e33e061e96 Replaced deprecated functions on OS X 10.9 2014-05-23 09:52:17 +02:00
Marco Antognini b9f5f19f7c Reverted OS X implementation to non-ARC
* Apparently, there were some leaks not reported as such
 * Support for 32 bits computer is restored
 * Fix memory leak in sfStringToNSString (related to #484)
 * Unapply context when closing the window, freeing memory

The following commits are related to ARC modifications:

 * 42f6e83dfb
 * 6edc4b9518
 * f6c94451fb
 * 324d4a18e7
 * 0d47056132

Commit ac28902b57 is the last one before the introduction of ARC.
2014-05-23 09:52:17 +02:00
binary1248 1fe22e24d0 Fix the case where not having created a GlResource prior to calling Shader::isAvailable() would break context management. (#211) 2014-05-22 11:53:58 +02:00
firefly2442 749cbb2ff8 add HTTP support for PUT and DELETE
Signed-off-by: binary1248 <binary1248@hotmail.com>
2014-05-22 10:45:19 +02:00
Stefan Schindler 5250cc97d5 Updated glext, removed glxext.
Removed glxext in favor of the system version.
2014-05-13 15:17:01 +02:00
binary1248 c45039e907 Removed vertical tab support from Text (#442). 2014-05-13 10:40:38 +02:00
Jan Haller 0c3d361ceb Fixed problem with wrongly initialized sf::RenderStates::Default
This static variable depended on the global variable sf::BlendAlpha, which may not be constructed yet.
2014-05-01 00:39:57 +02:00
Jan Haller cdf32a7881 Merge branch 'blendmodes'
Introduces the sf::BlendMode class that supports separate blend functions and equations.
Replaces the old sf::BlendMode enum.

Further changes:
* Fixed merge conflicts resulting from GLExtensions in mobile branch
* GLExtensions: Added GLEXT_blend_equation_separate
* Added file BlendMode.cpp
* Replaced occurrences of sf::BlendMode value parameters with const-references
* Adapted rendering code in sf::RenderTarget
2014-04-26 19:43:36 +02:00
Dmitry Marakasov f1431e416c Use common unix sensor implementation on FreeBSD 2014-04-25 17:46:15 +04:00
Dmitry Marakasov 208164898b Don't use udev on FreeBSD 2014-04-25 17:45:49 +04:00
Marco Antognini efe4354bc5 Improved resizing windows on OS X (close #474)
sf::Window::setSize will fire a resize event if the view could not be created at the requested size.
2014-04-23 13:14:42 +02:00
Laurent Gomila ee336a3037 Merge pull request #576 from binary1248/text_fix
Fix text being rendered with a vertical offset when the font's ascent doesn't match it's size.
2014-04-22 22:41:25 +02:00