Magnum::Platform::Sdl2Application::PointerMoveEvent class new in Git master

Pointer move event.

Base classes

class InputEvent
Base for input events.

Constructors, destructors, conversion operators

PointerMoveEvent(const PointerMoveEvent&) deleted
Copying is not allowed.
PointerMoveEvent(PointerMoveEvent&&) deleted
Moving is not allowed.

Public functions

auto operator=(const PointerMoveEvent&) -> PointerMoveEvent& deleted
Copying is not allowed.
auto operator=(PointerMoveEvent&&) -> PointerMoveEvent& deleted
Moving is not allowed.
auto source() const -> PointerEventSource
Pointer event source.
auto pointer() const -> Containers::Optional<Pointer>
Pointer type that was added or removed from the set of pressed pointers.
auto pointers() const -> Pointers
Pointer types pressed in this event.
auto isPrimary() const -> bool
Whether the pointer is primary.
auto id() const -> Long
Pointer ID.
auto position() const -> Vector2
Position.
auto relativePosition() const -> Vector2
Position relative to the previous touch event.
auto modifiers() -> Sdl2Application::Modifiers
Keyboard modifiers.

Function documentation

PointerEventSource Magnum::Platform::Sdl2Application::PointerMoveEvent::source() const

Pointer event source.

Can be used to distinguish which source the event is coming from in case it's a movement with both pointer() and pointers() being empty.

Containers::Optional<Pointer> Magnum::Platform::Sdl2Application::PointerMoveEvent::pointer() const

Pointer type that was added or removed from the set of pressed pointers.

Use pointers() to query the set of pointers pressed in this event. This field is is non-empty only in case a mouse button was pressed in addition to an already pressed button, or if one mouse button from multiple pressed buttons was released. If non-empty and pointers() don't contain given Pointer value, the button was released, if they contain given value, the button was pressed.

Pointers Magnum::Platform::Sdl2Application::PointerMoveEvent::pointers() const

Pointer types pressed in this event.

Returns an empty set if no pointers are pressed, which happens for example when a mouse is just moved around.

bool Magnum::Platform::Sdl2Application::PointerMoveEvent::isPrimary() const

Whether the pointer is primary.

Useful to distinguish among multiple pointers in a multi-touch scenario. See Touch input in SDL2 for more information.

Long Magnum::Platform::Sdl2Application::PointerMoveEvent::id() const

Pointer ID.

Useful to distinguish among multiple pointers in a multi-touch scenario. See Touch input in SDL2 for more information.

Vector2 Magnum::Platform::Sdl2Application::PointerMoveEvent::position() const

Position.

For mouse input the position is always reported in whole pixels. For Pointer::Finger the events may be reported with a subpixel precision. Use Math::round() to snap them to the nearest pixel. Note that, unlike the SDL_TouchFingerEvent, which is normalized in the $ [0, 1] $ range, the position for touch events is in the same coordinate system as mouse events.

Vector2 Magnum::Platform::Sdl2Application::PointerMoveEvent::relativePosition() const

Position relative to the previous touch event.

For mouse input the position is always reported in whole pixels. For Pointer::Finger the events may be reported with a subpixel precision, meaning that the relative position might be less than a pixel. Note that, unlike the SDL_TouchFingerEvent, which is normalized in the $ [0, 1] $ range, the position for touch events is in the same coordinate system as mouse events.

Sdl2Application::Modifiers Magnum::Platform::Sdl2Application::PointerMoveEvent::modifiers()

Keyboard modifiers.

Lazily populated on first request.