Browse Source

python: fix InputEvent.Modifier to behave like proper flags.

pull/12/head
Vladimír Vondruš 5 years ago
parent
commit
18ea028c8a
  1. 3
      doc/python/pages/changelog.rst
  2. 4
      src/python/magnum/platform/application.h

3
doc/python/pages/changelog.rst

@ -72,6 +72,9 @@ Changelog
- Fixed a copypaste error in
:ref:`platform.sdl2.Application.MouseMoveEvent.relative_position` and
:ref:`platform.glfw.Application.MouseMoveEvent.relative_position`
- Fixed :ref:`platform.sdl2.Application.InputEvent.Modifier` and
:ref:`platform.glfw.Application.InputEvent.Modifier` to behave properly
as flags and not just as an enum
`2020.06`_
==========

4
src/python/magnum/platform/application.h

@ -82,11 +82,13 @@ template<class T, class Trampoline, class Holder> void application(py::class_<T,
template<class T, class ...Args> void inputEvent(py::class_<T, Args...>& c) {
py::enum_<typename T::Modifier>{c, "Modifier", "Modifier"}
py::enum_<typename T::Modifier> modifiers{c, "Modifier", "Modifier"};
modifiers
.value("SHIFT", T::Modifier::Shift)
.value("CTRL", T::Modifier::Ctrl)
.value("ALT", T::Modifier::Alt)
.value("SUPER", T::Modifier::Super);
corrade::enumOperators(modifiers);
c.def_property("accepted", &T::isAccepted, &T::setAccepted, "Accepted status of the event");
}

Loading…
Cancel
Save