Commit Graph

1999 Commits

Author SHA1 Message Date
hobby8
973ac8ddcd Skip glTexCoordPointer() call if not needed 2017-04-04 13:19:28 +02:00
Stefan Schindler
858c9ce924 Markdown'd readme, changelog, contributing and license files. 2017-03-22 02:40:16 +01:00
jonathan.r.paton@googlemail.com
4595562de4 only set policy CMP0042 if cmake version > 3.0 2017-03-22 02:00:44 +01: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
Fytch
4cde8bb69c Corrected documentation 2017-02-28 12:30:24 +01:00
Rafael Kitover
5fe5e5d6d7 packaging support improvements
This grew out of my work creating an sfml port for macports, but should
be helpful for package maintainers of various distributions:

* add an SFML_USE_SYSTEM_DEPS option to ignore everything in extlibs/
  except for headers/stb_image, and use the system versions

* install pkg-config files if a pkg-config program is found
  and either lib/pkgconfig or libdata/pkgconfig exists under the
  INSTALL_PREFIX, or the SFML_INSTALL_PKGCONFIG_FILES flag is set
  explicitly

* install pkg-config files for static libs too, add the necessary
  Requires.private and Libs.private entries to the .pc files to support
  static linking

* on OS X, honor all INSTALL_NAME and RPATH related cmake variables and
  only set the INSTALL_NAME_DIR to "@rpath" if none of them is set, this
  preserves the default behavior of using @rpath but also allows
  overriding by the usual cmake mechanisms
2017-02-28 10:03:14 +01:00
Marco Antognini
40ae477cc3 Added CFBundleSupportedPlatforms key-value
This should improve the signing process of Mac Applications.

This improves the frameworks of external dependencies used by SFML. To
patch sfml-*.framework, one would need to customised the
`MACOSX_FRAMEWORK_INFO_PLIST` cmake property and provide a custom
Info.plist file with CFBundleSupportedPlatforms property set. See
https://cmake.org/cmake/help/latest/prop_tgt/FRAMEWORK.html

This is however not required (probably) if one used dylibs instead.

Related to #1020 and #1036. Credits go to @kipbits.
2017-02-20 18:23:37 +01:00
Lukas Dürrenberger
e4ae4f9cc3 Increased SFML's version number and updated the changelogs. 2017-02-10 15:18:20 +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
Lukas Dürrenberger
77d19859bc Added protected d-tor to sf::NonCopyable to prevent possible resource leaks. 2016-11-04 15:36:51 +01:00
Lukas Dürrenberger
67ef694443 Incremented SFML version number and added changes to the changelog. 2016-11-04 10:43:50 +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
Mario Liebisch
95828a85a2 Added some simple messaging when trying to build under Cygwin 2016-10-04 09:33:15 +02:00
Mischa Aster Alff
3d41e28e6a Clarify documentation on Rect::contains function bounds 2016-10-01 13:21:38 +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
Hapaxia
68850d331f update Window documentation
removed part of the sentence that stated that cursor grabbing is different for fullscreen windows as this is not the case.
2016-09-13 18:41:35 +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
James Cowgill
e199ef3790 Define SFML_OS_FREEBSD when compiling for kFreeBSD 2016-08-24 14:05:40 +02:00
Dka8
b16d29b4ae UdpSocket.hpp typo in comment for void unbind()
Function  void unbind();
The suggested text by @binary1248
Added "If the socket is not bound to a port, this function has no effect."
2016-08-24 14:05:24 +02:00
Manu343726
9558c6d689 Correctly add XCB components if no components are requested
This commit fixes the FindXCB.cmake module for the case no components
are requested. The previous version assigned `XCB_FIND_COMPONENTS`
list to an empty variable name.

I was lucky enough to catch the bug in a corner case where both
`XCB_COMPONENTS` and `XCB_FIND_COMPONENTS` were empty and `set()`
command failed, but note this awesome CMake language supports more annoying
corner cases like `XCB_COMPONENTS` empty and `XCB_FIND_COMPONENTS`
with two elements, which results in the following `set()` invocation:

``` cmake
set(${XCB_FIND_COMPONENTS[0]} ${XCB_FIND_COMPONENTS[1]})
```

So always beware of CMake secret charms...
2016-08-24 14:05:17 +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
8df8493515 Fixed PrimitiveType documentation 2016-08-07 18:37:18 +02:00
Marco Antognini
8e7bf64162 Added deprecated API in changelog 2016-08-07 18:37:03 +02:00
Marco Antognini
818a8d1659 Updated changelog 2016-08-06 19:00:03 +02:00
Marco Antognini
a43be42999 Bump version to 2.4.0 2016-08-06 19:00: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
3a2e176e59 Android: Readded support for libc++ and use it as the standard STL 2016-07-23 14:35:10 +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