Covellite++  Version: 2.3.0 Revision: ??? Platform: x64 Build: 23:13 04.01.2025
Кроссплатформенный фреймворк для разработки приложений на С++
Загрузка...
Поиск...
Не найдено
Класс covellite::app::Application

Класс входит в проект Covellite.App
Базовый класс приложения для Android. Подробнее...

#include <Application.hpp>

Граф наследования:covellite::app::Application:
Inheritance graph
Граф связей класса covellite::app::Application:
Collaboration graph

Классы

class  Continuous
 Непрерывная отрисовка экрана (режим работы игры). Подробнее...
 
class  EventBased
 

Открытые члены

::std::string GetCommandLine (void) const
 Функция получения параметров командной строки, которые были переданы программе ее при запуске.
 
 Application (Continuous)
 Конструктор класса создания объекта приложения для непрерывной отрисовки окна программы.
 
 Application (EventBased)
 Конструктор класса создания объекта приложения для отрисовки окна программы после события.
 
template<class TWindow , class ... TArgs>
TWindow & MakeWindow (TArgs &&... _Args)
 Функция создания объекта окна программы.
 
- Открытые члены унаследованные от covellite::events::IEvents

Открытые статические члены

template<class >
static void Main (void *) noexcept
 Функция точки входа в программу.
 

Открытые атрибуты

const Run_t Run
 Объект функции запуска главного цикла программы.
 

Закрытые члены

VIRTUAL_MOCK bool PostCommand (bool)
 Функция вызова сигнала произошедшего события..
 
 Application (const Run_t &)
 Инициализирующий конструктор класса.
 

Закрытые статические члены

static void Main (CreateApp_t, void *) noexcept
 Платформозависимая реализация функции точки входа в программу.
 

Подробное описание

Класс входит в проект Covellite.App
Базовый класс приложения для Android.

  • Содержит главный цикл приложения.
  • Для создания объекта приложения следует создать класс-наследник от этого класса и в его конструкторе подписаться на сообщения, которые следует обрабатывать.
  • Для того, чтобы на Android при смене ориентации устройства программа не завершалась, необходимо в AndroidManifest.xml добавить
    <activity ...
    android:configChanges="keyboardHidden|orientation|screenSize">
Версия
1.0.0.0
2.0.0.0
Дата
17 Ноябрь 2016
20 Июнь 2018
Автор
CTAPOBEP (unico.nosp@m.rnum.nosp@m..veru.nosp@m.m@gm.nosp@m.ail.c.nosp@m.om)

Методы

◆ GetCommandLine()

std::string Application::GetCommandLine ( void ) const

Функция получения параметров командной строки, которые были переданы программе ее при запуске.

  • Для Android функция не имеет смысла.

◆ Main() [1/2]

void Application::Main ( CreateApp_t _fnCreateApp,
void * _pParams )
staticprivatenoexcept

Платформозависимая реализация функции точки входа в программу.

  • Функция вызывается внутри макроса APPLICATION_ENTRY_POINT.
Аргументы
[in]_fnCreateAppФункция создания объекта приложения.
[in]_pParamsДополнительные параметры запуска программы.

◆ Main() [2/2]

template<class TApplication >
void covellite::app::Application::Main ( void * _pParams)
inlinestaticnoexcept

Функция точки входа в программу.

  • Именно эта функция вызывается внутри макроса точки входа в программу.
Параметры шаблона
TApplicationКласс приложения (должен наследоваться от covellite::app::Application).
Аргументы
[in]_pParamsПараметры запуска программы:
  • Windows: параметры командной строки.
  • Android: указатель на объект android_main.
Граф вызовов:
Граф вызова функции:

◆ MakeWindow()

template<class TWindow , class ... TArgs>
TWindow & covellite::app::Application::MakeWindow ( TArgs &&... _Args)
inline

Функция создания объекта окна программы.

  • Функция создает объект окна программы класса, указанного в качестве параметра шаблона.
  • Функция должна быть вызвана в классе главного объекта программы в функции обработки сообщения Application.Create для всего необходимого приложению набора объектов окон (окно операционной системы, окно графического API, окно реализации приложения, окно реализации GUI).
Параметры шаблона
TWindowКласс окна программы (должен быть наследником от класса covellite::app::IWindow).
Аргументы
_ArgsПараметры, передаваемые конструктору создаваемого объекта окна.
Исключения
std::exception
  • Действие невозможно (подробнее см. описание исключения).

◆ PostCommand()

bool Application::PostCommand ( bool _IsWaitMessage)
private

Функция вызова сигнала произошедшего события..

  • При появлении события будет вызвана функция EventHandler::CommandHandler(), вторым параметром которой будет передан идентификатор произошедшего события или или EventHandler::InputHandler().
Аргументы
[in]_IsWaitMessageПризнак того, нужно или нет ждать появления события.
Возвращает
true
  • Появилось событие и был вызыван обработчик этого события.
false
  • События не было.
Граф вызова функции:

Объявления и описания членов классов находятся в файлах: