diff --git a/include/Nazara/Utility/Mouse.hpp b/include/Nazara/Utility/Mouse.hpp index cad6046f0..36715d53a 100644 --- a/include/Nazara/Utility/Mouse.hpp +++ b/include/Nazara/Utility/Mouse.hpp @@ -32,9 +32,9 @@ class NAZARA_API NzMouse static NzVector2i GetPosition(const NzWindow& relativeTo); static bool IsButtonPressed(Button button); static void SetPosition(const NzVector2i& position); - static void SetPosition(const NzVector2i& position, const NzWindow& relativeTo); + static void SetPosition(const NzVector2i& position, const NzWindow& relativeTo, bool ignoreEvent = true); static void SetPosition(int x, int y); - static void SetPosition(int x, int y, const NzWindow& relativeTo); + static void SetPosition(int x, int y, const NzWindow& relativeTo, bool ignoreEvent = true); }; #endif // NAZARA_MOUSE_HPP diff --git a/src/Nazara/Utility/Mouse.cpp b/src/Nazara/Utility/Mouse.cpp index 17f44f992..fe191ebcc 100644 --- a/src/Nazara/Utility/Mouse.cpp +++ b/src/Nazara/Utility/Mouse.cpp @@ -35,9 +35,9 @@ void NzMouse::SetPosition(const NzVector2i& position) NzEventImpl::SetMousePosition(position.x, position.y); } -void NzMouse::SetPosition(const NzVector2i& position, const NzWindow& relativeTo) +void NzMouse::SetPosition(const NzVector2i& position, const NzWindow& relativeTo, bool ignoreEvent) { - if (position.x > 0 && position.y > 0) + if (ignoreEvent && position.x > 0 && position.y > 0) relativeTo.IgnoreNextMouseEvent(position.x, position.y); NzEventImpl::SetMousePosition(position.x, position.y, relativeTo); @@ -48,9 +48,9 @@ void NzMouse::SetPosition(int x, int y) NzEventImpl::SetMousePosition(x, y); } -void NzMouse::SetPosition(int x, int y, const NzWindow& relativeTo) +void NzMouse::SetPosition(int x, int y, const NzWindow& relativeTo, bool ignoreEvent) { - if (x > 0 && y > 0) + if (ignoreEvent && x > 0 && y > 0) relativeTo.IgnoreNextMouseEvent(x, y); NzEventImpl::SetMousePosition(x, y, relativeTo);