The move away from `nullptr` to NoCreate for constructing an application
without creating OpenGL context was done quite some time ago for
windowless application, but for some weird reason it was never done for
windowed apps. Now made this consistent.
The old `nullptr`-based constructor is still present, but marked as
deprecated and due to be removed in some future release.
It was Resizeable on GLFW and Resizable on SDL2. As both APIs use
"resizable" as the flag name, I'm keeping it. The old enum value is now
an alias to the new one, is marked as deprecated and will be removed in
a future release.
Because the library still links to the old crappy opengl32.dll, we need
to load all symbols above OpenGL 1.1, not just those that are above
OpenGL ES 2.0/3.0.
The SDL2 variant works better than expected, however the GLFW variant
underdelivers -- no key names for modifier keys, the accent keys are not
UTF-8... I don't care ATM, will solve it once someone actually
complains.
Fixes an issue when creating the context more than once in a single
application. Also changed the API calls to be explicitly "W" and added
proper error reporting to this part of code.
Note that the `Plus` and `Percent` keys are not available without using
the SHIFT key on the typical US English keyboard layout, and as such do
not have dedicated `#define`'s in `GLFW.h`.
Detected in WindowlessWglApplication, added it to both Sdl2Application
and WindowlessWglApplication. Renamed the workaround to reflect that it
is for all three major vendors.
Enabled by default, makes the current Magnum context a thread-local
variable instead of a global one, so it's possible to have multiple
thread-local contexts. Might have some performance implications, that's
why it's possible to disable it (but enabled by default is the safer
option).
GCC 4.7 and Apple platforms don't support thread_local, but __thread
does the job too (though on iOS not until Xcode 7.3). Also had to move
it to file-local because MSVC doesn't like having thread local variables
as part of DLL interface. (And there is *of course* no way to disable
exporting one particular member. F' that.)