Covellite++  Version: 2.3.0 Revision: ??? Platform: x64 Build: 23:13 04.01.2025
Кроссплатформенный фреймворк для разработки приложений на С++
Загрузка...
Поиск...
Не найдено
Renders.hpp
1
2#pragma once
3//#include <boost/thread/mutex.hpp>
4#include <Covellite/Api/Component.hpp>
5
6namespace covellite
7{
8
9namespace api
10{
11
28{
29public:
30 using Render_t = ::std::function<void(void)>;
31 using Renders_t = ::std::vector<Render_t>;
32 using Object_t = ::std::vector<ComponentPtr_t>;
33 using Creator_t = ::std::function<Render_t(const ComponentPtr_t &)>;
34 using Creators_t = ::std::map<Type_t, Creator_t>;
35
36public:
37 Render_t Obtain(const ComponentPtr_t &);
38 void Remove(const ComponentPtr_t &);
39
40private:
41 Creators_t m_Creators;
42 ::std::map<Id_t, ::std::pair<size_t, Render_t>> m_AllExistingRenders;
43 //::boost::mutex m_Mutex;
44 ::std::size_t m_MaxRendersCount = 10;
45
46public:
47 explicit Renders(const Creators_t &);
48};
49
50} // namespace api
51
52} // namespace covellite
Класс входит в проект Covellite.Api Класс создания рендеров компонентов.
Definition Renders.hpp:28
Renders(const Creators_t &)
Конструктор класса.
Definition Renders.cpp:23
Render_t Obtain(const ComponentPtr_t &)
Функция получения рендера для указанного компонента.
Definition Renders.cpp:51
void Remove(const ComponentPtr_t &)
Функция удаления рендера для указанного компонента.
Definition Renders.cpp:104