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