Vladimír Vondruš
35bf229ed5
Platform: add Sdl2Application::Configuration::WindowFlag::{OpenGL,Vulkan}.
7 years ago
Vladimír Vondruš
82f53862e1
Platform: Sdl2Application::mainLoopIteration() now returns a bool.
...
To indicate when the app desires to exit.
7 years ago
Vladimír Vondruš
0731546bc8
Copy HTML runners for magnum-gl-info and magnum-al-info into the build dir.
...
So I can run those directly from there, without installing stuff.
7 years ago
Vladimír Vondruš
ef1fbd8e4b
CMake: copy SDL / GLFW DLLs to CMAKE_RUNTIME_OUTPUT_DIRECTORY.
...
Shall make Windows users' life a bit less painful.
7 years ago
Vladimír Vondruš
6ba9bf529a
Platform: doc++
7 years ago
Vladimír Vondruš
f7d739058b
Platform: device selection in WindowlessEglApplication.
7 years ago
Vladimír Vondruš
3bfec34cec
Platform: EGL_EXT_anything isn't on WebGL anyway.
7 years ago
Vladimír Vondruš
73baab69ce
Platform: specify EGL context version for desktop as well.
...
This might be a fix for the nv-egl-forward-compatible-context-unhappy
workaround, actually.
7 years ago
Vladimír Vondruš
bc3451a593
Platform: how did Linus say it, fuck NVidia?
...
Thanks a lot, there goes my morning.
7 years ago
Vladimír Vondruš
7f4da303cb
Require at least CMake 3.4.
7 years ago
Vladimír Vondruš
8bac2a05a5
Platform: more compact list of GLSL versions in magnum-gl-info.
7 years ago
Vladimír Vondruš
64ad4a566a
Platform: fix Sdl2Application on Emscripten with TARGET_GL disabled.
...
An old TODO.
7 years ago
Vladimír Vondruš
76a73bb38d
Platform: properly link to GLX also if Sdl2/GlfwApplication is disabled.
7 years ago
Vladimír Vondruš
eb7684da7e
Platform: reuse the dynamically loaded opengl32.dll.
...
Instead of using wglGetProcAddress directly and thus forcing a link-time
dependency on that DLL (and because this is a static lib also forcing all
users to link to it).
7 years ago
Vladimír Vondruš
9638e77996
Platform: we don't need to include windows.h here.
...
Did the same thing a while ago in Corrade/PluginManager/AbstractManager.h
so reusing it here.
7 years ago
Vladimír Vondruš
6a905089b9
Platform: avoid needless string allocations in workaround detection.
7 years ago
Vladimír Vondruš
4e218d3f24
Platform: new nv-egl-forward-compatible-context-unhappy workaround.
...
SIGH. WHY CAN'T WE HAVE NICE THINGS.
7 years ago
Vladimír Vondruš
d1d8db1f54
Platform: test also for EGL_EXT_device_base.
7 years ago
Vladimír Vondruš
53e86dd041
Platform: prefer EGL_EXT_device_enumeration to find an EGL display.
...
Makes things work on Mesa 19.2 when DISPLAY is not defined. And opens the
possibilities for *sane* GPU selection. No more environment variables,
globally exported symbols or other BAD SHIT.
7 years ago
Vladimír Vondruš
305454453d
Platform: fix GLFW context creation on GL-less builds.
7 years ago
Vladimír Vondruš
a61e258d88
Platform: fix {Sdl2,Glfw}Application startup on GL-less builds.
7 years ago
Vladimír Vondruš
693fb55c10
Platform: fix GLFW/SDL2 tests on builds w/o GL.
7 years ago
Vladimír Vondruš
0a0a652388
Platform: this code doesn't need stuff from GL.
...
Fixes a build w/o GL enabled.
7 years ago
Vladimír Vondruš
5be3f3ca7e
Platform: if you call Sdl2Application::tickEvent(), it gets disabled.
7 years ago
Vladimír Vondruš
89d4a754d5
Platform: add MouseMoveEvent::relativePosition() to Glfw and Emscripten.
...
These toolkits don't support it, but I got really annoyed and so the
apps are emulating it.
7 years ago
Vladimír Vondruš
d54e8c1844
Platform: minor cleanup.
7 years ago
Vladimír Vondruš
31f5ca4546
Platform: check and return a reference from Screen::application().
...
Giving out a pointer implied excessive error checking in user code.
There's a new hasApplication() accessor that can be used to check for
application presence, moreover the ScreenedApplication is now
convertible to a pointer to provide backward compatiblity. This
conversion is marked as deprecated and will be removed in a future
release.
7 years ago
Vladimír Vondruš
ad22f463fb
Platform: add {Sdl2,Glfw,Emscripten}Application::setWindowTitle().
...
On Emscripten as well, however I'm keeping the Configuration::setTitle()
a no-op because the title is usually set by the HTML markup already and
so dynamic code implicitly changing it to something else doesn't make
much sense.
7 years ago
Vladimír Vondruš
e9286421a1
Platform: improve the UX of windowless Emscripten apps.
...
* Wrap the text like in a console because nobody wants to read
kilometers-long horizontal lines with a horizontal scrollbar
* Make the output fill at least the space given to it but let it expand
beyond because a vertical scrollbar in an area of this size is
useless as well.
7 years ago
Vladimír Vondruš
377ff068f3
Doc++
7 years ago
Vladimír Vondruš
217ea0c7b4
Platform: clearer asserts for ScreenedApplication.
...
This was asserted already in LinkedList, but there it's very
disconnected from the actual screen APIs and thus confusing.
7 years ago
Vladimír Vondruš
206122b405
Platform: make it possible to create & add a Screen in one step.
7 years ago
Vladimír Vondruš
081f784836
Platform: improve ScreenedApplication docs.
7 years ago
Vladimír Vondruš
f3e0a852d5
Platform: make Screen::{focus,blur}Event() optional to implement.
7 years ago
Vladimír Vondruš
67a5602967
Platform: make BasicScreen destructor virtual.
7 years ago
Vladimír Vondruš
466c3bb957
Platform: why the heck was this missing from EmscriptenApplication?
7 years ago
Vladimír Vondruš
e08cdced88
Platform: make ScreenedApplication available for AndroidApplication.
7 years ago
Vladimír Vondruš
d1b7e4ded4
Platform: make KeyEvent in the Screen also a mixin.
...
Because this one is not available in AndroidApplication and due to that
the ScreenedApplication couldn't be used there.
7 years ago
Vladimír Vondruš
2828548d7d
Platform: expose mouseScrollEvent() and text*Event() in Screen APIs.
...
Because not all applications implement these, it's done via a "mixin". I
never did such a thing before, just got an idea that it could work and
I'm equally amazed and horrified that it actually DOES WORK. The Screen
will now expose the MouseScrollEvent, TextInputEvent and
TextEditingEvent typedefs only if the underlying application has them
too and provides the overrideable mouseScrollEvent(), textInputEvent()
and textEditingEvent() also only if the underlying application has them
-- that also means you can't `override` those if the app doesn't provide
such APIs, which acts as a nice check against accidental overgenericity.
7 years ago
Vladimír Vondruš
bb982a4089
Platform: overrideable functions in Screen can now be private.
...
This was done only because Doxygen wasn't able to document private
virtuals. Now it can.
7 years ago
Vladimír Vondruš
37996e12b7
doc: improve docs about external CMake modules.
...
Hopefully this stops more people from running into issues with those.
7 years ago
Vladimír Vondruš
544f30b52f
Platform: make Application and other conditional aliases searchable.
7 years ago
Vladimír Vondruš
51ff5644f0
Platform: minor cosmetic changes.
7 years ago
Vladimír Vondruš
10c8bd7516
Platform: group Screen members the same way as in Applications.
7 years ago
Vladimír Vondruš
bc95e35328
Platform: UGH DOXYGEN.
...
Why the F doesn't it warn that this type doesn't exist?!
7 years ago
Vladimír Vondruš
38ef891682
Doc++
7 years ago
Vladimír Vondruš
df6582d948
Platform: ask for debug context if --magnum-gpu-validation is enabled.
...
Also mention the option more prominently in related docs.
7 years ago
Vladimír Vondruš
0f14a8d997
Platform: hmm, this header doesn't exist anymore.
...
Looks like this code is never compiled, hah.
7 years ago
Vladimír Vondruš
a14be9b154
Adapt to (breaking) Corrade changes.
7 years ago
Vladimír Vondruš
50902e72d7
Platform: check for non-null GL_VENDOR before comparing it.
...
Otherwise, when context creation fails *really bad*, this crashes
somewhere deep in __strncmp_sse42 or so.
7 years ago