Covellite++  Version: 2.3.0 Revision: ??? Platform: x64 Build: 23:13 04.01.2025
Кроссплатформенный фреймворк для разработки приложений на С++
Загрузка...
Поиск...
Не найдено
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
10namespace covellite
11{
12
13namespace expanse
14{
15
33class Window final :
36{
38
39public:
40 // Интерфейс events::IEvents:
41 operator Events_t (void) const noexcept override;
42
43public:
44 // Интерфейс IGameScene:
45 ObjectId_t CreateObject(const GameObject_t &) override;
46 void RemoveObject(const ObjectId_t) override;
47
48public:
49 // Интерфейс IWindow:
50 void DeferredCreateObject(const fnObjectCreation_t &,
51 const fnObjectCreationCompleted_t &) override;
52
53public:
54 // Интерфейс I3DScene:
55 void Add(const ObjectId_t) override;
56
57private:
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
63public:
64 explicit Window(const WindowApi_t &);
65 ~Window(void);
66};
67
68} // namespace expanse
69
70} // namespace covellite
Класс входит в проект Covellite.Api Интерфейсный класс для всех окон, реализующих различные графиче...
Definition IWindow.hpp:35
Класс входит в проект Covellite.App Интерфейсный класс для классов окон фреймворка.
Definition IWindow.hpp:32
Класс входит в проект Covellite.Events Класс для работы с событиями фреймворка.
Definition Events.hpp:36
Класс входит в проект Covellite.Expanse Интерфейс класса окна.
Definition IWindow.hpp:32
Класс входит в проект Covellite.Expanse Класс окна, предоставлющего клиентскому коду возможности пр...
Definition Window.hpp:36
void Add(const ObjectId_t) override
Функция добавления идентификатора объекта в очередь рендеринга.
Definition Window.cpp:147
ObjectId_t CreateObject(const GameObject_t &) override
Функция создания 3D объекта.
Definition Window.cpp:84
void RemoveObject(const ObjectId_t) override
Функция удаления объекта.
Definition Window.cpp:132
void DeferredCreateObject(const fnObjectCreation_t &, const fnObjectCreationCompleted_t &) override
Функция создания 3D объекта.
Definition Window.cpp:112