Sdk/Widget: Add Canvas system, mouse movement event for widgets (buttons react to hovering)

Former-commit-id: 1945290ec1bd8fb85f0271e71a3deac8fe29d1d3 [formerly 685f46c52586642355658b6dc97b01c62c8ceb18] [formerly 2d7b1bdc6ec1b08d82f5967bde41e07681b37bba [formerly 24f645b1a9ae22d4d9a3d45d40a09a92929f407a]]
Former-commit-id: 0b8303a6701d2a0507433fb004a181ed1852e250 [formerly 81f107cd8a3b5adf3fb583e24d72fb11600be8d4]
Former-commit-id: 1fe7c371f085ef008da5f4362924ebed8a2e968a
This commit is contained in:
Lynix
2016-09-15 13:16:37 +02:00
parent 81e819567b
commit 9438f519bb
10 changed files with 285 additions and 15 deletions

View File

@@ -20,7 +20,7 @@ namespace Ndk
class NDK_API ButtonWidget : public BaseWidget
{
public:
ButtonWidget(const WorldHandle& world, BaseWidget* parent = nullptr);
ButtonWidget(BaseWidget* parent = nullptr);
ButtonWidget(const ButtonWidget&) = delete;
ButtonWidget(ButtonWidget&&) = default;
~ButtonWidget() = default;
@@ -37,6 +37,10 @@ namespace Ndk
private:
void Layout() override;
void OnMouseEnter() override;
void OnMouseMoved(int x, int y, int deltaX, int deltaY) override;
void OnMouseExit() override;
EntityHandle m_textEntity;
EntityHandle m_gradientEntity;
Nz::SpriteRef m_gradientSprite;

View File

@@ -19,7 +19,7 @@ namespace Ndk
class NDK_API LabelWidget : public BaseWidget
{
public:
LabelWidget(const WorldHandle& world, BaseWidget* parent = nullptr);
LabelWidget(BaseWidget* parent = nullptr);
LabelWidget(const LabelWidget&) = delete;
LabelWidget(LabelWidget&&) = default;
~LabelWidget() = default;