Covellite++
Version: 2.3.2 Revision: 2584 Platform: x64 Build: 19:03 05.09.2026
Кроссплатформенный фреймворк для разработки приложений на С++
Toggle main menu visibility
Загрузка...
Поиск...
Не найдено
Application.hpp
1
2
#pragma once
3
#include <memory>
4
#include <stack>
5
#include <functional>
6
#include <Covellite/Events/Events.hpp>
7
#include <Covellite/App/IApplication.hpp>
8
9
class
Application_test;
10
11
namespace
covellite
12
{
13
14
namespace
app
15
{
16
17
class
IWindow
;
18
49
class
Application
:
50
public
IApplication
51
{
52
using
Windows_t = ::std::stack<::std::shared_ptr<IWindow>>;
53
using
Run_t = ::std::function<void(
void
)>;
54
using
CreateApp_t = ::std::function<::std::unique_ptr<Application>(
void
)>;
55
56
public
:
57
class
Continuous
{};
58
class
EventBased
{};
61
62
public
:
63
// Итерфейс IApplication:
64
operator
Events_t (
void
)
const
final
{
return
m_Events; }
65
66
public
:
67
template
<
class
>
68
static
void
Main
(
void
*)
noexcept
;
69
::std::string
GetCommandLine
(
void
)
const
;
71
const
Run_t
Run
;
72
73
protected
:
74
template
<
class
TWindow,
class
... TArgs>
75
TWindow & MakeWindow(TArgs && ...);
76
77
private
:
78
static
void
Main
(CreateApp_t,
void
*)
noexcept
;
79
VIRTUAL_MOCK
bool
PostCommand
(
bool
);
80
81
protected
:
82
events::Events
m_Events;
83
84
private
:
85
bool
m_IsFocused =
false
;
86
Windows_t m_Windows;
87
88
private
:
89
explicit
Application
(
const
Run_t &);
90
91
public
:
92
explicit
Application
(
Continuous
);
93
explicit
Application
(
EventBased
);
94
virtual
~Application
(
void
)
noexcept
;
95
96
private
:
97
friend
Application_test;
98
FRIEND_TEST(Application_test,
/*DISABLED_*/
Test_MakeWindow);
99
FRIEND_TEST(Application_android_test,
/*DISABLED_*/
Test_OnTermWindow);
100
FRIEND_TEST(Application_android_test,
/*DISABLED_*/
Test_PostCommand);
101
};
102
103
}
// namespace app
104
105
}
// namespace covellite
106
107
#include <Covellite\App\Application.inl>
covellite::app::Application::Application
Application(const Run_t &)
Инициализирующий конструктор класса.
Определения
Application.android.cpp:35
covellite::app::Application::Main
static void Main(void *) noexcept
Функция точки входа в программу.
Определения
Application.inl:58
covellite::app::Application::Run
const Run_t Run
Объект функции запуска главного цикла программы.
Определения
Application.hpp:71
covellite::app::Application::PostCommand
VIRTUAL_MOCK bool PostCommand(bool)
Функция вызова сигнала произошедшего события..
Определения
Application.android.cpp:233
covellite::app::Application::GetCommandLine
::std::string GetCommandLine(void) const
Функция получения параметров командной строки, которые были переданы программе ее при запуске.
Определения
Application.android.cpp:212
covellite::app::Application::Continuous
Непрерывная отрисовка экрана (режим работы игры).
Определения
Application.hpp:57
covellite::app::Application::EventBased
Определения
Application.hpp:58
covellite::app::IApplication
Класс входит в проект Covellite.App Интерфейсный класс приложения.
Определения
IApplication.hpp:28
covellite::app::IWindow
Класс входит в проект Covellite.App Интерфейсный класс для классов окон фреймворка.
Определения
IWindow.hpp:32
covellite::events::Events
Класс входит в проект Covellite.Events Класс для работы с событиями фреймворка.
Определения
Events.hpp:36
Solution
Solution
Covellite.App
Covellite.App
Application.hpp
Документация по Covellite++. Последние изменения:
. Создано системой
1.18.0