SDK/BaseWidget: Add OnMouseWheelMoved event
This commit is contained in:
parent
37c16dc202
commit
5039bfbf1d
|
|
@ -268,6 +268,7 @@ Nazara Development Kit:
|
||||||
- Added PhysicsSystem2D::[RaycastQuery, RegionQuery] overloads taking a callback
|
- Added PhysicsSystem2D::[RaycastQuery, RegionQuery] overloads taking a callback
|
||||||
- Added TextAreaWidget support for outline
|
- Added TextAreaWidget support for outline
|
||||||
- Fixed possible crash when disabling BaseWidget background
|
- Fixed possible crash when disabling BaseWidget background
|
||||||
|
- Added BaseWidget::OnMouseWheelMoved
|
||||||
|
|
||||||
# 0.4:
|
# 0.4:
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -115,6 +115,7 @@ namespace Ndk
|
||||||
virtual void OnMouseMoved(int x, int y, int deltaX, int deltaY);
|
virtual void OnMouseMoved(int x, int y, int deltaX, int deltaY);
|
||||||
virtual void OnMouseButtonPress(int x, int y, Nz::Mouse::Button button);
|
virtual void OnMouseButtonPress(int x, int y, Nz::Mouse::Button button);
|
||||||
virtual void OnMouseButtonRelease(int x, int y, Nz::Mouse::Button button);
|
virtual void OnMouseButtonRelease(int x, int y, Nz::Mouse::Button button);
|
||||||
|
virtual void OnMouseWheelMoved(int x, int y, float delta);
|
||||||
virtual void OnMouseExit();
|
virtual void OnMouseExit();
|
||||||
virtual void OnParentResized(const Nz::Vector2f& newSize);
|
virtual void OnParentResized(const Nz::Vector2f& newSize);
|
||||||
virtual void OnTextEntered(char32_t character, bool repeated);
|
virtual void OnTextEntered(char32_t character, bool repeated);
|
||||||
|
|
|
||||||
|
|
@ -48,8 +48,9 @@ namespace Ndk
|
||||||
private:
|
private:
|
||||||
void OnEventMouseButtonPressed(const Nz::EventHandler* eventHandler, const Nz::WindowEvent::MouseButtonEvent& event);
|
void OnEventMouseButtonPressed(const Nz::EventHandler* eventHandler, const Nz::WindowEvent::MouseButtonEvent& event);
|
||||||
void OnEventMouseButtonRelease(const Nz::EventHandler* eventHandler, const Nz::WindowEvent::MouseButtonEvent& event);
|
void OnEventMouseButtonRelease(const Nz::EventHandler* eventHandler, const Nz::WindowEvent::MouseButtonEvent& event);
|
||||||
void OnEventMouseMoved(const Nz::EventHandler* eventHandler, const Nz::WindowEvent::MouseMoveEvent& event);
|
|
||||||
void OnEventMouseLeft(const Nz::EventHandler* eventHandler);
|
void OnEventMouseLeft(const Nz::EventHandler* eventHandler);
|
||||||
|
void OnEventMouseMoved(const Nz::EventHandler* eventHandler, const Nz::WindowEvent::MouseMoveEvent& event);
|
||||||
|
void OnEventMouseWheelMoved(const Nz::EventHandler* eventHandler, const Nz::WindowEvent::MouseWheelEvent& event);
|
||||||
void OnEventKeyPressed(const Nz::EventHandler* eventHandler, const Nz::WindowEvent::KeyEvent& event);
|
void OnEventKeyPressed(const Nz::EventHandler* eventHandler, const Nz::WindowEvent::KeyEvent& event);
|
||||||
void OnEventKeyReleased(const Nz::EventHandler* eventHandler, const Nz::WindowEvent::KeyEvent& event);
|
void OnEventKeyReleased(const Nz::EventHandler* eventHandler, const Nz::WindowEvent::KeyEvent& event);
|
||||||
void OnEventTextEntered(const Nz::EventHandler* eventHandler, const Nz::WindowEvent::TextEvent& event);
|
void OnEventTextEntered(const Nz::EventHandler* eventHandler, const Nz::WindowEvent::TextEvent& event);
|
||||||
|
|
@ -65,8 +66,9 @@ namespace Ndk
|
||||||
NazaraSlot(Nz::EventHandler, OnKeyReleased, m_keyReleasedSlot);
|
NazaraSlot(Nz::EventHandler, OnKeyReleased, m_keyReleasedSlot);
|
||||||
NazaraSlot(Nz::EventHandler, OnMouseButtonPressed, m_mouseButtonPressedSlot);
|
NazaraSlot(Nz::EventHandler, OnMouseButtonPressed, m_mouseButtonPressedSlot);
|
||||||
NazaraSlot(Nz::EventHandler, OnMouseButtonReleased, m_mouseButtonReleasedSlot);
|
NazaraSlot(Nz::EventHandler, OnMouseButtonReleased, m_mouseButtonReleasedSlot);
|
||||||
NazaraSlot(Nz::EventHandler, OnMouseMoved, m_mouseMovedSlot);
|
|
||||||
NazaraSlot(Nz::EventHandler, OnMouseLeft, m_mouseLeftSlot);
|
NazaraSlot(Nz::EventHandler, OnMouseLeft, m_mouseLeftSlot);
|
||||||
|
NazaraSlot(Nz::EventHandler, OnMouseMoved, m_mouseMovedSlot);
|
||||||
|
NazaraSlot(Nz::EventHandler, OnMouseWheelMoved, m_mouseWheelMovedSlot);
|
||||||
NazaraSlot(Nz::EventHandler, OnTextEntered, m_textEnteredSlot);
|
NazaraSlot(Nz::EventHandler, OnTextEntered, m_textEnteredSlot);
|
||||||
|
|
||||||
std::size_t m_keyboardOwner;
|
std::size_t m_keyboardOwner;
|
||||||
|
|
|
||||||
|
|
@ -24,8 +24,9 @@ namespace Ndk
|
||||||
m_keyReleasedSlot.Connect(eventHandler.OnKeyReleased, this, &Canvas::OnEventKeyReleased);
|
m_keyReleasedSlot.Connect(eventHandler.OnKeyReleased, this, &Canvas::OnEventKeyReleased);
|
||||||
m_mouseButtonPressedSlot.Connect(eventHandler.OnMouseButtonPressed, this, &Canvas::OnEventMouseButtonPressed);
|
m_mouseButtonPressedSlot.Connect(eventHandler.OnMouseButtonPressed, this, &Canvas::OnEventMouseButtonPressed);
|
||||||
m_mouseButtonReleasedSlot.Connect(eventHandler.OnMouseButtonReleased, this, &Canvas::OnEventMouseButtonRelease);
|
m_mouseButtonReleasedSlot.Connect(eventHandler.OnMouseButtonReleased, this, &Canvas::OnEventMouseButtonRelease);
|
||||||
m_mouseMovedSlot.Connect(eventHandler.OnMouseMoved, this, &Canvas::OnEventMouseMoved);
|
|
||||||
m_mouseLeftSlot.Connect(eventHandler.OnMouseLeft, this, &Canvas::OnEventMouseLeft);
|
m_mouseLeftSlot.Connect(eventHandler.OnMouseLeft, this, &Canvas::OnEventMouseLeft);
|
||||||
|
m_mouseMovedSlot.Connect(eventHandler.OnMouseMoved, this, &Canvas::OnEventMouseMoved);
|
||||||
|
m_mouseWheelMovedSlot.Connect(eventHandler.OnMouseWheelMoved, this, &Canvas::OnEventMouseWheelMoved);
|
||||||
m_textEnteredSlot.Connect(eventHandler.OnTextEntered, this, &Canvas::OnEventTextEntered);
|
m_textEnteredSlot.Connect(eventHandler.OnTextEntered, this, &Canvas::OnEventTextEntered);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -237,6 +237,10 @@ namespace Ndk
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void BaseWidget::OnMouseWheelMoved(int /*x*/, int /*y*/, float /*delta*/)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
void BaseWidget::OnMouseExit()
|
void BaseWidget::OnMouseExit()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -61,7 +61,7 @@ namespace Ndk
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Canvas::OnEventMouseButtonRelease(const Nz::EventHandler* /*eventHandler*/, const Nz::WindowEvent::MouseButtonEvent & event)
|
void Canvas::OnEventMouseButtonRelease(const Nz::EventHandler* /*eventHandler*/, const Nz::WindowEvent::MouseButtonEvent& event)
|
||||||
{
|
{
|
||||||
if (m_hoveredWidget != InvalidCanvasIndex)
|
if (m_hoveredWidget != InvalidCanvasIndex)
|
||||||
{
|
{
|
||||||
|
|
@ -128,6 +128,19 @@ namespace Ndk
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Canvas::OnEventMouseWheelMoved(const Nz::EventHandler* /*eventHandler*/, const Nz::WindowEvent::MouseWheelEvent& event)
|
||||||
|
{
|
||||||
|
if (m_hoveredWidget != InvalidCanvasIndex)
|
||||||
|
{
|
||||||
|
WidgetEntry& hoveredWidget = m_widgetEntries[m_hoveredWidget];
|
||||||
|
|
||||||
|
int x = static_cast<int>(std::round(event.x - hoveredWidget.box.x));
|
||||||
|
int y = static_cast<int>(std::round(event.y - hoveredWidget.box.y));
|
||||||
|
|
||||||
|
hoveredWidget.widget->OnMouseWheelMoved(x, y, event.delta);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void Canvas::OnEventMouseLeft(const Nz::EventHandler* /*eventHandler*/)
|
void Canvas::OnEventMouseLeft(const Nz::EventHandler* /*eventHandler*/)
|
||||||
{
|
{
|
||||||
if (m_hoveredWidget != InvalidCanvasIndex)
|
if (m_hoveredWidget != InvalidCanvasIndex)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue