Covellite++  Version: 2.3.0 Revision: 2580 Platform: x64 Build: 15:23 16.10.2020
Кроссплатформенный фреймворк для разработки приложений на С++
Класс 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)
 Функция создания объекта окна программы. Подробнее...
 

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

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 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
  • События не было.
Граф вызова функции:

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