* 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
* French to English punctuation.
* Pong and Shader use fixed-sized windows now (especially on tiling
window managers, the windows will be resized automatically, thus
making the examples look and also behave weirdly).
- 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
Since the @loader_path was replaced with @rpath, to correctly load
binaries from within a bundle app we need to add the Frameworks
subdirectory to the run path list.
- Replaced @executable_path by @rpath for more flexibility
- Updated freetype and sndfile libs as follow:
install_name_tool -id "@rpath/../Frameworks/freetype.framework/Versions/A/freetype" freetype
install_name_tool -id "@rpath/../Frameworks/sndfile.framework/Versions/A/sndfile" sndfile
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()
* 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.