Covellite++  Version: 2.3.2 Revision: 2584 Platform: x64 Build: 19:03 05.09.2026
Кроссплатформенный фреймворк для разработки приложений на С++
Загрузка...
Поиск...
Не найдено
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;
45 using WindowOs_t = ::covellite::os::IWindow;
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 Интерфейсный класс для всех окон, реализующих различные графиче...
Определения IWindow.hpp:35
Класс входит в проект Covellite.Api Интерфейсный класс реализации рендеринга GUI при помощи графиче...
Определения IGraphicApi.hpp:42
Класс для передачи значений настроек программы реализации рендера.
Определения IGraphicApi.hpp:62
RendersPtr_t GetRenders(void) const override
Функция получения объекта для созданий рендеров компонентов объектов 3D сцены.
Определения Window.cpp:78
Rect GetClientRect(void) const override
Функция получения размеров клиентской области окна.
Определения Window.cpp:61
Класс входит в проект Covellite.App Интерфейсный класс для классов окон фреймворка.
Определения IWindow.hpp:32
Класс входит в проект Covellite.Os Интерфейсный класс окна операционной системы программы.
Определения IWindow.hpp:32