Covellite++  Version: 2.3.0 Revision: 2580 Platform: x64 Build: 15:23 16.10.2020
Кроссплатформенный фреймворк для разработки приложений на С++
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 
8 namespace covellite
9 {
10 
11 namespace os { class IWindow; }
12 
13 namespace api
14 {
15 
16 namespace renderer { class IGraphicApi; }
17 namespace renderer { class SettingsData; }
18 
40 class Window final :
43 {
44  using String_t = ::alicorn::extension::std::String;
46  using IGraphicApiPtr_t =
47  ::alicorn::extension::std::unique_ptr<renderer::IGraphicApi>;
48 
49 public:
50  // Интерфейс events::IEvents:
51  operator Events_t (void) const override;
52 
53 public:
54  // Интерфейс api::IWindow:
55  Rect GetClientRect(void) const override;
56  RendersPtr_t GetRenders(void) const override;
57 
58 private:
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 
63 private:
64  const WindowOs_t & m_WindowOs;
65  Events_t m_Events;
66  const IGraphicApiPtr_t m_pImpl;
67 
68 public:
69  explicit Window(const WindowOs_t &);
70  ~Window(void);
71 };
72 
73 } // namespace api
74 
75 } // namespace covellite
covellite::os::Configuration
Класс входит в проект Covellite.Os Класс доступа к текущим настройкам системы.
Definition: Configuration.hpp:29
covellite::api::renderer::SettingsData::IsFullScreen
bool IsFullScreen
Признак работы программы в полноэкранном режиме.
Definition: IGraphicApi.hpp:66
covellite::api::Window
Класс входит в проект Covellite.Api Класс окна-фасада для скрытия реализаций конкретных графических...
Definition: Window.hpp:43
covellite::os::Window::GetConfiguration
const Configuration_t & GetConfiguration(void) const override
Функция получения объекта доступа к параметрам системы.
Definition: Window.cpp:26
covellite::expanse::C3DScene
Класс входит в проект Covellite.Expanse Класс-контейнер для объектов, которые должны рендеринтся в ...
Definition: 3DScene.impl.hpp:33
covellite::os::Window::GetClientRect
Rect GetClientRect(void) const override
Функция получения размеров клиентской области окна.
Definition: Window.android.cpp:49
covellite::os::IWindow
Класс входит в проект Covellite.Os Интерфейсный класс окна операционной системы программы.
Definition: IWindow.hpp:32
covellite::api::IWindow
Класс входит в проект Covellite.Api Интерфейсный класс для всех окон, реализующих различные графиче...
Definition: IWindow.hpp:35
covellite::app::IWindow
Класс входит в проект Covellite.App Интерфейсный класс для классов окон фреймворка.
Definition: IWindow.hpp:32
covellite::events::Events
Класс входит в проект Covellite.Events Класс для работы с событиями фреймворка.
Definition: Events.hpp:36
covellite::expanse::GameScene
Класс входит в проект Covellite.Expanse Класс-контейнер для объектов, которые должны обновляться в ...
Definition: GameScene.impl.hpp:34
covellite::api::renderer::SettingsData::Handle
Any_t Handle
Хэнд окна операционной системы.
Definition: IGraphicApi.hpp:64
android_app
Definition: android_native_app_glue.h:111
covellite::api::Window::GetClientRect
Rect GetClientRect(void) const override
Функция получения размеров клиентской области окна.
Definition: Window.cpp:61
covellite::gui::StringTranslator
Класс входит в проект Covellite.Gui Класс преобразователя строк.
Definition: StringTranslator.hpp:34
covellite::events::Key_t::Code
int32_t Code
Класс входит в проект Covellite.Os Класс параметра для передачи сигналу координат курсора.
Definition: Events.hpp:159
covellite::api::Window::GetRenders
RendersPtr_t GetRenders(void) const override
Функция получения объекта для созданий рендеров компонентов объектов 3D сцены.
Definition: Window.cpp:78
covellite::gui::Renderer
Класс входит в проект Covellite.Gui Класс обобщенной логики рендеринга GUI.
Definition: Renderer.hpp:44
covellite::api::renderer::SettingsData::ClientRect
Rect ClientRect
Фактические размеры клиентской области окна.
Definition: IGraphicApi.hpp:65
covellite::os::Window::GetHandle
Any_t GetHandle(void) const override
Функция получения хэндла окна для конкретной операционной системы.
Definition: Window.cpp:17
covellite::api::renderer::SettingsData
Класс для передачи значений настроек программы реализации рендера.
Definition: IGraphicApi.hpp:62