Cumulia Illustrator Rendering Engine v1.0.0
A Rendering engine for industrial CAD/CAE model and optimized for greatest performance
 
Loading...
Searching...
No Matches
event.h
1//##################################################################################################
2//
3// Copyright (c) 2024 Beijing Qiongqi Tech Co.,Ltd. All rights reserved.
4
5// This source code is confidential and proprietary to Beijing Qiongqi Tech Co.,Ltd(The Holder).
6// Any unauthorized use, copying, modification, or distribution of the code is strictly prohibited.
7// Any user shall obtain authorizaition from the Holder before modifying the source code. And the user shall not
8// sublicense, sell, distribute, or transfer the source code, whether in original or modified form, to any third party
9// without the prior written consent of the Holder.
10
11// This copyright notice and permission grant shall be included in all copies or substantial portions of the source code.
12
13// Author Cumulia Illustrator
14// Date 2024-05-01
15// Version V1.0.0
16//##################################################################################################
17
18#pragma once
19
20#include <vector>
21#include <map>
22#include <string>
23#include <functional>
24
25namespace cil
26{
27 using EventCallback = std::function<void()>;
30 {
31 private:
32 std::map<std::string, std::vector<EventCallback>> m_events;
33
34 public:
36 virtual ~EventWatcher();
37
41 void bind(const std::string& name, EventCallback callback);
44 void send(const std::string& name);
45 };
46}
47
The EventWatcher class defines a mechanism for managing events and callbacks.
Definition event.h:30
void send(const std::string &name)
Triggers an event by its name.
virtual ~EventWatcher()
void bind(const std::string &name, EventCallback callback)
Binds a callback function to a specific event name.
Definition decal.h:23
std::function< void()> EventCallback
Definition event.h:27