Covellite++  Version: 2.3.3 Revision: 2585 Platform: x64 Build: 21:20 20.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
42class Window final :
45{
46 using String_t = ::alicorn::extension::std::String;
47 using WindowOs_t = ::covellite::os::IWindow;
48 using IGraphicApiPtr_t =
49 ::alicorn::extension::std::unique_ptr<renderer::IGraphicApi>;
50
51public:
52 // Интерфейс events::IEvents:
53 operator Events_t (void) const override;
54
55public:
56 // Интерфейс api::IWindow:
57 Rect GetClientRect(void) const override;
58 RendersPtr_t GetRenders(void) const override;
59 size_t GetDrawCallCount(void) const final;
60
61private:
62 static IGraphicApiPtr_t MakeImpl(const WindowOs_t &);
63 static IGraphicApiPtr_t MakeImpl(const String_t &, const renderer::SettingsData &);
64 static ::std::vector<String_t> GetRenderers(void);
65
66private:
67 const WindowOs_t & m_WindowOs;
68 Events_t m_Events;
69 const IGraphicApiPtr_t m_pImpl;
70
71public:
72 explicit Window(const WindowOs_t &);
73 ~Window(void);
74};
75
76} // namespace api
77
78} // namespace covellite
Класс входит в проект Covellite.Api Интерфейсный класс для всех окон, реализующих различные графиче...
Определения IWindow.hpp:35
Класс входит в проект Covellite.Api Интерфейсный класс реализации рендеринга GUI при помощи графиче...
Определения IGraphicApi.hpp:42
Класс для передачи значений настроек программы реализации рендера.
Определения IGraphicApi.hpp:63
size_t GetDrawCallCount(void) const final
Количество drawcall'ов в последнем кадре.
Определения Window.cpp:84
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