28#include "utility/math/vector.hpp"
30#include "utility/event/event.hpp"
32namespace utility::event
57 std::shared_ptr<Event>
create(
void)
const override;
64 std::shared_ptr<MouseMotionEvent>
createTyped(
void)
const;
101 std::ostream &operator<<(std::ostream &stream,
Abstract factory interface for creating events.
Base class for events in the event system.
Factory for creating MouseMotionEvent instances.
std::shared_ptr< MouseMotionEvent > createTyped(void) const
Create a strongly-typed MouseMotionEvent.
std::shared_ptr< Event > create(void) const override
Create a MouseMotionEvent as a base Event pointer.
~MouseMotionEvent(void) override
Default destructor.
MouseMotionEvent & setPosition(const MousePosition &position) noexcept
Set the current mouse position.
MouseMotionEvent(void)
Default constructor.
MousePosition getPosition(void) const noexcept
Get the current mouse position.
3D vector class inheriting from glm::vec3.