From 41e3e2bbf88c871d9b3e19cd72012bd438974e72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Leclercq?= Date: Sun, 21 Nov 2021 19:08:20 +0100 Subject: [PATCH] examples/PhysicsDemo: Add button widget --- examples/PhysicsDemo/main.cpp | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/examples/PhysicsDemo/main.cpp b/examples/PhysicsDemo/main.cpp index 06948216a..6f5136ddb 100644 --- a/examples/PhysicsDemo/main.cpp +++ b/examples/PhysicsDemo/main.cpp @@ -145,30 +145,29 @@ int main() Nz::RenderSystem renderSystem(registry); Nz::Canvas canvas2D(registry, window.GetEventHandler(), window.GetCursorController().CreateHandle(), 2); + canvas2D.Resize(Nz::Vector2f(window.GetSize())); + Nz::LabelWidget* labelWidget = canvas2D.Add(); labelWidget->SetPosition(0.f, 300.f, 0.f); - //labelWidget->EnableBackground(true); + labelWidget->EnableBackground(true); labelWidget->UpdateText(Nz::SimpleTextDrawer::Draw("Bonjour Paris !", 72)); + Nz::ButtonWidget* buttonWidget = canvas2D.Add(); + buttonWidget->SetPosition(200.f, 400.f); + buttonWidget->UpdateText(Nz::SimpleTextDrawer::Draw("Press me senpai", 72)); + buttonWidget->Resize(buttonWidget->GetPreferredSize()); + buttonWidget->OnButtonTrigger.Connect([](const Nz::ButtonWidget*) + { + std::cout << "Coucou !" << std::endl; + }); + entt::entity viewer2D = registry.create(); { registry.emplace(viewer2D); auto& cameraComponent = registry.emplace(viewer2D, window.GetRenderTarget(), Nz::ProjectionType::Orthographic); - cameraComponent.UpdateZNear(1.f); - cameraComponent.UpdateZFar(1000.f); cameraComponent.UpdateRenderMask(2); } - entt::entity text2D = registry.create(); - { - std::shared_ptr sprite2D = std::make_shared(spriteMaterial); - sprite2D->Update(Nz::SimpleTextDrawer::Draw("Voix ambiguë d'un cœur qui, au zéphyr, préfère les jattes de kiwis", 72)); - - registry.emplace(text2D).SetPosition(Nz::Vector3f(0.f, 200.f, 0.f)); - auto& gfxComponent = registry.emplace(text2D); - gfxComponent.AttachRenderable(sprite2D, 2); - } - entt::entity viewer = registry.create(); { registry.emplace(viewer); @@ -260,7 +259,7 @@ int main() Nz::Clock secondClock; unsigned int fps = 0; - Nz::Mouse::SetRelativeMouseMode(true); + //Nz::Mouse::SetRelativeMouseMode(true); float elapsedTime = 0.f; Nz::UInt64 time = Nz::GetElapsedMicroseconds();