Covellite++  Version: 2.3.0 Revision: 2580 Platform: x64 Build: 15:23 16.10.2020
Кроссплатформенный фреймворк для разработки приложений на С++
Window.hpp
1 
2 #pragma once
3 #include <queue>
4 #include <Covellite/Events/Events.hpp>
5 #include <Covellite/App/IWindow.hpp>
6 #include <Covellite/Api/IWindow.hpp>
7 #include <Covellite/Expanse/Defines.hpp>
8 #include <Covellite/Expanse/IWindow.hpp>
9 
10 namespace covellite
11 {
12 
13 namespace expanse
14 {
15 
33 class Window final :
36 {
38 
39 public:
40  // Интерфейс events::IEvents:
41  operator Events_t (void) const noexcept override;
42 
43 public:
44  // Интерфейс IGameScene:
45  ObjectId_t CreateObject(const GameObject_t &) override;
46  void RemoveObject(const ObjectId_t) override;
47 
48 public:
49  // Интерфейс IWindow:
50  void DeferredCreateObject(const fnObjectCreation_t &,
51  const fnObjectCreationCompleted_t &) override;
52 
53 public:
54  // Интерфейс I3DScene:
55  void Add(const ObjectId_t) override;
56 
57 private:
58  class Scene;
59  Events_t m_Events;
60  ::std::unique_ptr<Scene> m_pScene;
61  ::std::queue<::std::function<void(void)>> m_LoadingQueue;
62 
63 public:
64  explicit Window(const WindowApi_t &);
65  ~Window(void);
66 };
67 
68 } // namespace expanse
69 
70 } // namespace covellite
covellite::expanse::Window
Класс входит в проект Covellite.Expanse Класс окна, предоставлющего клиентскому коду возможности пр...
Definition: Window.hpp:36
covellite::api::IWindow
Класс входит в проект Covellite.Api Интерфейсный класс для всех окон, реализующих различные графиче...
Definition: IWindow.hpp:35
covellite::expanse::IWindow
Класс входит в проект Covellite.Expanse Интерфейс класса окна.
Definition: IWindow.hpp:32
covellite::app::IWindow
Класс входит в проект Covellite.App Интерфейсный класс для классов окон фреймворка.
Definition: IWindow.hpp:32
covellite::expanse::Window::Add
void Add(const ObjectId_t) override
Функция добавления идентификатора объекта в очередь рендеринга.
Definition: Window.cpp:144
covellite::expanse::Window::CreateObject
ObjectId_t CreateObject(const GameObject_t &) override
Функция создания 3D объекта.
Definition: Window.cpp:81
covellite::expanse::Window::DeferredCreateObject
void DeferredCreateObject(const fnObjectCreation_t &, const fnObjectCreationCompleted_t &) override
Функция создания 3D объекта.
Definition: Window.cpp:109
covellite::expanse::Window::RemoveObject
void RemoveObject(const ObjectId_t) override
Функция удаления объекта.
Definition: Window.cpp:129