From 2386a9534289baf73ce299f33e110f612ff55e38 Mon Sep 17 00:00:00 2001 From: Kae <80987908+Novaenia@users.noreply.github.com> Date: Sun, 2 Jul 2023 17:19:54 +1000 Subject: Input Binding support --- source/frontend/StarBaseScriptPane.hpp | 45 ++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 source/frontend/StarBaseScriptPane.hpp (limited to 'source/frontend/StarBaseScriptPane.hpp') diff --git a/source/frontend/StarBaseScriptPane.hpp b/source/frontend/StarBaseScriptPane.hpp new file mode 100644 index 0000000..f88cd40 --- /dev/null +++ b/source/frontend/StarBaseScriptPane.hpp @@ -0,0 +1,45 @@ +#ifndef STAR_BASE_SCRIPT_PANE_HPP +#define STAR_BASE_SCRIPT_PANE_HPP + +#include "StarPane.hpp" +#include "StarLuaComponents.hpp" +#include "StarGuiReader.hpp" + +namespace Star { + +STAR_CLASS(CanvasWidget); +STAR_CLASS(BaseScriptPane); + +// A more 'raw' script pane that doesn't depend on a world being present. +// Requires a derived class to provide a Lua root. +class BaseScriptPane : public Pane { +public: + BaseScriptPane(Json config); + + virtual void show() override; + void displayed() override; + void dismissed() override; + + void tick() override; + + bool sendEvent(InputEvent const& event) override; + + PanePtr createTooltip(Vec2I const& screenPosition) override; + Maybe cursorOverride(Vec2I const& screenPosition) override; +protected: + virtual LuaCallbacks makePaneCallbacks(); + Json m_config; + + GuiReader m_reader; + + Map m_canvasClickCallbacks; + Map m_canvasKeyCallbacks; + + bool m_callbacksAdded; + LuaUpdatableComponent m_script; + List> m_playingSounds; +}; + +} + +#endif -- cgit v1.2.3