Widgets: Rework event dispatching
This commit is contained in:
committed by
Jérôme Leclercq
parent
05c78da22a
commit
0fcf24f336
@@ -102,15 +102,14 @@ namespace Nz
|
||||
void OnFocusLost() override;
|
||||
void OnFocusReceived() override;
|
||||
bool OnKeyPressed(const WindowEvent::KeyEvent& key) override;
|
||||
void OnKeyReleased(const WindowEvent::KeyEvent& key) override;
|
||||
void OnMouseButtonDoublePress(int x, int y, Mouse::Button button) override;
|
||||
void OnMouseButtonPress(int x, int y, Mouse::Button button) override;
|
||||
void OnMouseButtonRelease(int x, int y, Mouse::Button button) override;
|
||||
void OnMouseButtonTriplePress(int x, int y, Mouse::Button button) override;
|
||||
bool OnMouseButtonDoublePress(int x, int y, Mouse::Button button) override;
|
||||
bool OnMouseButtonPress(int x, int y, Mouse::Button button) override;
|
||||
bool OnMouseButtonRelease(int x, int y, Mouse::Button button) override;
|
||||
bool OnMouseButtonTriplePress(int x, int y, Mouse::Button button) override;
|
||||
void OnMouseEnter() override;
|
||||
void OnMouseMoved(int x, int y, int deltaX, int deltaY) override;
|
||||
bool OnMouseMoved(int x, int y, int deltaX, int deltaY) override;
|
||||
void OnRenderLayerUpdated(int baseRenderLayer) override;
|
||||
void OnTextEntered(char32_t character, bool repeated) override;
|
||||
bool OnTextEntered(char32_t character, bool repeated) override;
|
||||
|
||||
virtual void PasteFromClipboard(const Vector2ui& targetPosition) = 0;
|
||||
|
||||
|
||||
@@ -128,19 +128,19 @@ namespace Nz
|
||||
virtual void OnFocusLost();
|
||||
virtual void OnFocusReceived();
|
||||
virtual bool OnKeyPressed(const WindowEvent::KeyEvent& key);
|
||||
virtual void OnKeyReleased(const WindowEvent::KeyEvent& key);
|
||||
virtual bool OnKeyReleased(const WindowEvent::KeyEvent& key);
|
||||
virtual void OnMouseEnter();
|
||||
virtual void OnMouseMoved(int x, int y, int deltaX, int deltaY);
|
||||
virtual void OnMouseButtonDoublePress(int x, int y, Mouse::Button button);
|
||||
virtual void OnMouseButtonPress(int x, int y, Mouse::Button button);
|
||||
virtual void OnMouseButtonRelease(int x, int y, Mouse::Button button);
|
||||
virtual void OnMouseButtonTriplePress(int x, int y, Mouse::Button button);
|
||||
virtual void OnMouseWheelMoved(int x, int y, float delta);
|
||||
virtual bool OnMouseMoved(int x, int y, int deltaX, int deltaY);
|
||||
virtual bool OnMouseButtonDoublePress(int x, int y, Mouse::Button button);
|
||||
virtual bool OnMouseButtonPress(int x, int y, Mouse::Button button);
|
||||
virtual bool OnMouseButtonRelease(int x, int y, Mouse::Button button);
|
||||
virtual bool OnMouseButtonTriplePress(int x, int y, Mouse::Button button);
|
||||
virtual bool OnMouseWheelMoved(int x, int y, float delta);
|
||||
virtual void OnMouseExit();
|
||||
virtual void OnRenderLayerUpdated(int baseRenderLayer);
|
||||
virtual void OnParentResized(const Vector2f& newSize);
|
||||
virtual void OnTextEntered(char32_t character, bool repeated);
|
||||
virtual void OnTextEdited(const std::array<char, 32>& characters, int length);
|
||||
virtual bool OnTextEntered(char32_t character, bool repeated);
|
||||
virtual bool OnTextEdited(const std::array<char, 32>& characters, int length);
|
||||
|
||||
inline void SetBaseRenderLayer(int baseRenderLayer);
|
||||
inline void SetPreferredSize(const Vector2f& preferredSize);
|
||||
@@ -156,6 +156,7 @@ namespace Nz
|
||||
inline bool IsRegisteredToCanvas() const;
|
||||
inline void NotifyParentResized(const Vector2f& newSize);
|
||||
void RegisterToCanvas();
|
||||
void SetParent(BaseWidget* widget);
|
||||
inline void UpdateCanvasIndex(std::size_t index);
|
||||
void UnregisterFromCanvas();
|
||||
void UpdatePositionAndSize();
|
||||
|
||||
@@ -37,8 +37,8 @@ namespace Nz
|
||||
void Layout() override;
|
||||
|
||||
void OnMouseEnter() override;
|
||||
void OnMouseButtonPress(int x, int y, Mouse::Button button) override;
|
||||
void OnMouseButtonRelease(int x, int y, Mouse::Button button) override;
|
||||
bool OnMouseButtonPress(int x, int y, Mouse::Button button) override;
|
||||
bool OnMouseButtonRelease(int x, int y, Mouse::Button button) override;
|
||||
void OnMouseExit() override;
|
||||
|
||||
void OnRenderLayerUpdated(int baseRenderLayer) override;
|
||||
|
||||
@@ -55,6 +55,8 @@ namespace Nz
|
||||
void UnregisterWidget(std::size_t index);
|
||||
|
||||
private:
|
||||
template<typename F> void DispatchEvent(std::size_t widgetIndex, F&& functor);
|
||||
|
||||
void OnEventMouseButtonPressed(const EventHandler* eventHandler, const WindowEvent::MouseButtonEvent& event);
|
||||
void OnEventMouseButtonRelease(const EventHandler* eventHandler, const WindowEvent::MouseButtonEvent& event);
|
||||
void OnEventMouseEntered(const EventHandler* eventHandler);
|
||||
|
||||
@@ -44,8 +44,8 @@ namespace Nz
|
||||
void Layout() override;
|
||||
|
||||
void OnMouseEnter() override;
|
||||
void OnMouseButtonPress(int x, int y, Mouse::Button button) override;
|
||||
void OnMouseButtonRelease(int x, int y, Mouse::Button button) override;
|
||||
bool OnMouseButtonPress(int x, int y, Mouse::Button button) override;
|
||||
bool OnMouseButtonRelease(int x, int y, Mouse::Button button) override;
|
||||
void OnMouseExit() override;
|
||||
|
||||
void OnRenderLayerUpdated(int baseRenderLayer) override;
|
||||
|
||||
@@ -52,8 +52,8 @@ namespace Nz
|
||||
void Layout() override;
|
||||
|
||||
void OnMouseEnter() override;
|
||||
void OnMouseButtonPress(int x, int y, Mouse::Button button) override;
|
||||
void OnMouseButtonRelease(int x, int y, Mouse::Button button) override;
|
||||
bool OnMouseButtonPress(int x, int y, Mouse::Button button) override;
|
||||
bool OnMouseButtonRelease(int x, int y, Mouse::Button button) override;
|
||||
void OnMouseExit() override;
|
||||
|
||||
void OnRenderLayerUpdated(int baseRenderLayer) override;
|
||||
|
||||
@@ -37,10 +37,10 @@ namespace Nz
|
||||
void Layout() override;
|
||||
|
||||
void OnMouseEnter() override;
|
||||
void OnMouseButtonPress(int x, int y, Mouse::Button button) override;
|
||||
void OnMouseButtonRelease(int x, int y, Mouse::Button button) override;
|
||||
bool OnMouseButtonPress(int x, int y, Mouse::Button button) override;
|
||||
bool OnMouseButtonRelease(int x, int y, Mouse::Button button) override;
|
||||
void OnMouseExit() override;
|
||||
void OnMouseMoved(int x, int y, int deltaX, int deltaY) override;
|
||||
bool OnMouseMoved(int x, int y, int deltaX, int deltaY) override;
|
||||
|
||||
void OnRenderLayerUpdated(int baseRenderLayer) override;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user