Covellite++  Version: 2.3.0 Revision: ??? Platform: x64 Build: 23:13 04.01.2025
Кроссплатформенный фреймворк для разработки приложений на С++
Загрузка...
Поиск...
Не найдено
IGraphicApi.hpp
1
2#pragma once
3#include <functional>
4#include <alicorn/std/string.forward.hpp>
5#include <Covellite/Predefined.hpp>
6
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
56public:
57 virtual ~IGraphicApi(void) = default;
58};
59
61class SettingsData final
62{
63public:
64 Any_t Handle;
67 uint8_t Align[7] = { 0 };
68};
69
70} // namespace renderer
71
72} // namespace api
73
74} // namespace covellite
Класс входит в проект Covellite.Api Интерфейсный класс реализации рендеринга GUI при помощи графиче...
Definition IGraphicApi.hpp:42
Класс для передачи значений настроек программы реализации рендера.
Definition IGraphicApi.hpp:62
bool IsFullScreen
Признак работы программы в полноэкранном режиме.
Definition IGraphicApi.hpp:66
Rect ClientRect
Фактические размеры клиентской области окна.
Definition IGraphicApi.hpp:65
Any_t Handle
Хэнд окна операционной системы.
Definition IGraphicApi.hpp:64