Covellite++  Version: 2.3.0 Revision: ??? Platform: x64 Build: 23:13 04.01.2025
Кроссплатформенный фреймворк для разработки приложений на С++
Загрузка...
Поиск...
Не найдено
Window.hpp
1
2#pragma once
3#include <memory>
4#include <Covellite/Events/Events.hpp>
5#include <Covellite/App/IWindow.hpp>
6#include <Covellite/Api/IWindow.hpp>
7
8namespace covellite
9{
10
11namespace os { class IWindow; }
12
13namespace api
14{
15
16namespace renderer { class IGraphicApi; }
17namespace renderer { class SettingsData; }
18
40class Window final :
43{
44 using String_t = ::alicorn::extension::std::String;
46 using IGraphicApiPtr_t =
47 ::alicorn::extension::std::unique_ptr<renderer::IGraphicApi>;
48
49public:
50 // Интерфейс events::IEvents:
51 operator Events_t (void) const override;
52
53public:
54 // Интерфейс api::IWindow:
55 Rect GetClientRect(void) const override;
56 RendersPtr_t GetRenders(void) const override;
57
58private:
59 static IGraphicApiPtr_t MakeImpl(const WindowOs_t &);
60 static IGraphicApiPtr_t MakeImpl(const String_t &, const renderer::SettingsData &);
61 static ::std::vector<String_t> GetRenderers(void);
62
63private:
64 const WindowOs_t & m_WindowOs;
65 Events_t m_Events;
66 const IGraphicApiPtr_t m_pImpl;
67
68public:
69 explicit Window(const WindowOs_t &);
70 ~Window(void);
71};
72
73} // namespace api
74
75} // namespace covellite
Класс входит в проект Covellite.Api Интерфейсный класс для всех окон, реализующих различные графиче...
Definition IWindow.hpp:35
Класс для передачи значений настроек программы реализации рендера.
Definition IGraphicApi.hpp:62
Класс входит в проект Covellite.Api Класс окна-фасада для скрытия реализаций конкретных графических...
Definition Window.hpp:43
RendersPtr_t GetRenders(void) const override
Функция получения объекта для созданий рендеров компонентов объектов 3D сцены.
Definition Window.cpp:78
Rect GetClientRect(void) const override
Функция получения размеров клиентской области окна.
Definition Window.cpp:61
Класс входит в проект Covellite.App Интерфейсный класс для классов окон фреймворка.
Definition IWindow.hpp:32
Класс входит в проект Covellite.Events Класс для работы с событиями фреймворка.
Definition Events.hpp:36
Класс входит в проект Covellite.Os Интерфейсный класс окна операционной системы программы.
Definition IWindow.hpp:32