diff options
Diffstat (limited to 'src/ui/include/event_binding.hpp')
| -rw-r--r-- | src/ui/include/event_binding.hpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/ui/include/event_binding.hpp b/src/ui/include/event_binding.hpp new file mode 100644 index 00000000..19514db4 --- /dev/null +++ b/src/ui/include/event_binding.hpp @@ -0,0 +1,30 @@ +/* + * Copyright 2023 jacqueline <me@jacqueline.id.au> + * + * SPDX-License-Identifier: GPL-3.0-only + */ + +#pragma once + +#include <cstdint> + +#include "lvgl.h" + +#include "core/lv_event.h" +#include "core/lv_obj.h" +#include "nod/nod.hpp" + +namespace ui { + +class EventBinding { + public: + EventBinding(lv_obj_t* obj, lv_event_code_t ev); + + auto signal() -> nod::signal<void(lv_obj_t*)>& { return signal_; } + + private: + lv_obj_t* obj_; + nod::signal<void(lv_obj_t*)> signal_; +}; + +} // namespace ui |
