Covellite++
Version: 2.3.2 Revision: 2584 Platform: x64 Build: 19:03 05.09.2026
Кроссплатформенный фреймворк для разработки приложений на С++
Toggle main menu visibility
Загрузка...
Поиск...
Не найдено
Window.hpp
1
2
#pragma once
3
#include <map>
4
#include <memory>
5
#include <alicorn\boost\filesystem.forward.hpp>
6
#include <Covellite\Events\Events.hpp>
7
#include <Covellite\App\IWindow.hpp>
8
#include <Covellite\Gui\IWindow.hpp>
9
#include <Covellite\Gui\Layers.hpp>
10
11
namespace
covellite
12
{
13
14
namespace
api {
class
IWindow
; }
15
16
namespace
gui
17
{
18
19
class
Initializer
;
20
class
StringTranslator
;
21
class
Renderer
;
22
47
class
Window final :
48
public
::covellite::gui::IWindow
,
49
public
::covellite::app::IWindow
50
{
51
using
WindowApi_t =
::covellite::api::IWindow
;
52
using
WindowApiPtr_t = ::std::shared_ptr<WindowApi_t>;
53
using
Utf8String_t = ::std::string;
54
using
StringBank_t = ::std::map<Utf8String_t, Utf8String_t>;
55
using
Path_t = ::boost::filesystem::path;
56
using
LayerPtr_t = ::std::shared_ptr<ILayer>;
57
using
Layers_t =
covellite::gui::Layers
;
58
using
Initializer_t =
covellite::gui::Initializer
;
59
using
InitializerPtr_t = ::std::unique_ptr<Initializer_t>;
60
using
StringTranslator_t =
covellite::gui::StringTranslator
;
61
using
StringTranslatorPtr_t = ::std::shared_ptr<StringTranslator_t>;
62
using
Context_t = CovelliteGui::Context;
63
using
ContextPtr_t = ::std::unique_ptr<Context_t, void(*)(Context_t *)>;
64
using
Vector_t = CovelliteGui::Vector2i;
65
using
RendererPtr_t = ::std::shared_ptr<covellite::gui::Renderer>;
66
67
public
:
68
class
EventListener
;
69
using
EventListenerPtr_t = ::std::shared_ptr<EventListener>;
70
71
public
:
72
// Интерфейс events::IEvents:
73
operator
Events_t (
void
)
const override
;
74
75
public
:
76
// Интерфейс gui::IWindow:
77
DocumentPtr_t LoadDocument(
const
PathToFile_t &)
override
;
78
79
public
:
80
void
Set(
const
StringBank_t &);
81
82
public
:
83
// Функции работы со слоями (экранами) окна.
84
template
<
class
TLayer>
85
TLayer &
PushLayer
(
void
);
86
void
Back(
void
);
87
88
private
:
89
void
PushLayer
(
const
LayerPtr_t &);
90
91
private
:
92
Vector_t
GetContextSize
(
void
)
const
;
93
void
DoDrawWindow(
void
);
94
void
LoadFonts
(
void
);
95
96
private
:
97
const
WindowApi_t & m_WindowApi;
98
Events_t m_Events;
99
RendererPtr_t m_pRenderer;
100
EventListenerPtr_t m_pEventListener;
101
StringTranslatorPtr_t m_pStringTranslator;
102
InitializerPtr_t m_pInitializer;
103
ContextPtr_t m_pContext;
104
Layers_t m_Layers;
105
::std::map<Path_t, ::std::vector<uint8_t>> m_RawDataFonts;
106
107
public
:
108
explicit
Window(
const
WindowApi_t &);
109
~Window(
void
)
noexcept
;
110
};
111
112
}
// namespace gui
113
114
}
// namespace covellite
115
116
#include <Covellite\Gui\Window.inl>
covellite::api::IWindow
Класс входит в проект Covellite.Api Интерфейсный класс для всех окон, реализующих различные графиче...
Определения
IWindow.hpp:35
covellite::app::IWindow
Класс входит в проект Covellite.App Интерфейсный класс для классов окон фреймворка.
Определения
IWindow.hpp:32
covellite::gui::Window::EventListener
Класс входит в Covellite.Gui Вспомогательный класс для передачи событий библиотеки GUI классам окон...
Определения
EventListener.hpp:32
covellite::gui::Initializer
Класс входит в проект Covellite.Gui Класс, инкапсулирующий инициализацию/разрушение используемой би...
Определения
Initializer.hpp:41
covellite::gui::IWindow
Класс входит в проект Covellite.Gui Интерфесный класс окна, отображающего элементы GUI.
Определения
IWindow.hpp:31
covellite::gui::Layers
Класс входит в проект Covellite.Gui Класс списка слоев.
Определения
Layers.hpp:35
covellite::gui::Renderer
Класс входит в проект Covellite.Gui Класс обобщенной логики рендеринга GUI.
Определения
Renderer.hpp:44
covellite::gui::StringTranslator
Класс входит в проект Covellite.Gui Класс преобразователя строк.
Определения
StringTranslator.hpp:34
covellite::gui::Window::PushLayer
TLayer & PushLayer(void)
Функция вставки нового слоя.
Определения
Window.inl:32
covellite::gui::Window::LoadFonts
void LoadFonts(void)
Функция загрузки используемых шрифтов.
Определения
Window.cpp:217
covellite::gui::Window::GetContextSize
Vector_t GetContextSize(void) const
Функция получения размеров панели контекста в пикселях.
Определения
Window.cpp:191
Solution
Solution
Covellite.Gui
Covellite.Gui
Window.hpp
Документация по Covellite++. Последние изменения:
. Создано системой
1.18.0