Covellite++  Version: 2.3.0 Revision: 2580 Platform: x64 Build: 15:23 16.10.2020
Кроссплатформенный фреймворк для разработки приложений на С++
Renders.hpp
1 
2 #pragma once
3 //#include <boost/thread/mutex.hpp>
4 #include <Covellite/Api/Component.hpp>
5 
6 namespace covellite
7 {
8 
9 namespace api
10 {
11 
27 class Component::Renders final
28 {
29 public:
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 
36 public:
37  Render_t Obtain(const ComponentPtr_t &);
38  void Remove(const ComponentPtr_t &);
39 
40 private:
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 
46 public:
47  explicit Renders(const Creators_t &);
48 };
49 
50 } // namespace api
51 
52 } // namespace covellite
covellite::api::Component::Renders::Remove
void Remove(const ComponentPtr_t &)
Функция удаления рендера для указанного компонента.
Definition: Renders.cpp:104
covellite::api::Component::Renders
Класс входит в проект Covellite.Api Класс создания рендеров компонентов.
Definition: Renders.hpp:28
covellite::api::Component::Renders::Obtain
Render_t Obtain(const ComponentPtr_t &)
Функция получения рендера для указанного компонента.
Definition: Renders.cpp:51
covellite::api::Component::Renders::Renders
Renders(const Creators_t &)
Конструктор класса.
Definition: Renders.cpp:23