Covellite++  Version: 2.3.3 Revision: 2585 Platform: x64 Build: 21:20 20.09.2026
Кроссплатформенный фреймворк для разработки приложений на С++
Загрузка...
Поиск...
Не найдено
IGraphicApi.hpp
1
2#pragma once
3#include <functional>
4#include <alicorn/std/string.forward.hpp>
5#include <Covellite/Predefined.hpp>
6
12
13namespace covellite
14{
15
16namespace api
17{
18
19class Component;
20
21namespace renderer
22{
23
42{
43protected:
44 using String_t = ::alicorn::extension::std::String;
45 using Render_t = ::std::function<void(void)>;
46 using ComponentPtr_t = ::std::shared_ptr<::covellite::api::Component>;
47 using Creator_t = ::std::function<Render_t(const ComponentPtr_t &)>;
48 using Creators_t = ::std::map<String_t, Creator_t>;
49
50public:
51 virtual String_t GetUsingApi(void) const = 0;
52 virtual void PresentFrame(void) = 0;
53 virtual void ResizeWindow(const Rect &) = 0;
54 virtual const Creators_t & GetCreators(void) const = 0;
55 virtual size_t GetDrawCallCount(void) const = 0;
56
57public:
58 virtual ~IGraphicApi(void) = default;
59};
60
62class SettingsData final
63{
64public:
65 Any_t Handle;
68 uint8_t Align[7] = { 0 };
69};
70
71} // namespace renderer
72
73} // namespace api
74
75} // namespace covellite
Класс входит в проект Covellite.Api Класс компонента.
Определения Component.hpp:35
Класс входит в проект Covellite.Api Интерфейсный класс реализации рендеринга GUI при помощи графиче...
Определения IGraphicApi.hpp:42
Класс для передачи значений настроек программы реализации рендера.
Определения IGraphicApi.hpp:63
bool IsFullScreen
Признак работы программы в полноэкранном режиме.
Определения IGraphicApi.hpp:67
Rect ClientRect
Фактические размеры клиентской области окна.
Определения IGraphicApi.hpp:66
Any_t Handle
Хэнд окна операционной системы.
Определения IGraphicApi.hpp:65