YSTest: YSLib::GUIApplication类 参考

YSTest PreAlpha_b700_20160611 The YSLib Test Project

- 首页
- 相关页面
- 模块
- 命名空间
- 类
- 文件

- 类列表
- 类索引
- 类继承关系
- 类成员

类 | Public 成员函数 | Public 属性 | Private 属性 | 所有成员列表
YSLib::GUIApplication类 参考

平台相关的应用程序类。 更多...

`#include <GUIApplication.h>`

类 YSLib::GUIApplication 继承关系图:
[图例]
YSLib::GUIApplication 的协作图:
[图例]

## 类

struct | InitBlock

## Public 成员函数

| GUIApplication ()
| `private` 构造函数：非内联。 更多...
| ~GUIApplication () override
| 析构：释放资源。 更多...
Environment & | GetEnvironmentRef () const ynothrow
GUIHost & | GetGUIHostRef () const ynothrow
bool | DealMessage ()
| 处理当前消息。 更多...
Public 成员函数 继承自 YSLib::Application
| Application ()
| 无参数构造：默认构造。 更多...
| ~Application () override
| 析构：释放 Shell 所有权和其它资源。 更多...
| DefGetter (const ynothrow, shared_ptr< Shell >, ShellHandle, hShell) template< typename _func > auto AccessQueue(_func f) -> decltype(f(qMain))
| 取得线程空间中当前运行的 Shell 的句柄。 更多...
void | OnGotMessage (const Message &) override
| 处理消息：分发消息。 更多...
bool | Switch (shared_ptr< Shell > &) ynothrow
| 线程切换：若参数非空，和线程空间中当前运行的 Shell 的句柄交换。 更多...
template<typename _tParam >
void | AddExit (_tParam &&arg)
template<typename _func >
void | AddExitGuard (_func f)

## Public 属性

Messaging::Priority | UIResponseLimit = 0x40
| 用户界面输入响应阈值。 更多...

## Private 属性

ystdex::call_once_init< InitBlock, once_flag > | init

## 额外继承的成员函数

Protected 属性 继承自 YSLib::Application
MessageQueue | qMain {}
shared_ptr< Shell > | hShell {}
| 当前 Shell 句柄：指示当前线程空间中运行的 Shell 。 更多...

## 详细描述

平台相关的应用程序类。

注解
  含默认接口。

自从
  build 398

在文件 GUIApplication.h 第 202 行定义.

## 构造及析构函数说明

YSLib::GUIApplication::GUIApplication | ( |  | ) |

`private` 构造函数：非内联。

前置条件
  断言：进程唯一性。

在文件 GUIApplication.cpp 第 230 行定义.

参考 YSLib::YAssert().

函数调用图:

YSLib::GUIApplication::~GUIApplication | ( |  | ) |

override

析构：释放资源。

在文件 GUIApplication.cpp 第 239 行定义.

## 成员函数说明

bool YSLib::GUIApplication::DealMessage | ( |  | ) |

处理当前消息。

返回
  循环条件。

注解
  线程安全：全局消息队列互斥访问。
  优先级小于 UIResponseLimit 的消息时视为后台消息，否则为前台消息。
  消息在响应消息后移除。

警告
  应保证不移除正在被响应的消息。

若主消息队列为空，处理空闲消息，否则从主消息队列取出并分发消息。 当取出的消息的标识为 SM_Quit 时视为终止循环。 对后台消息，分发前调用后台消息处理程序：分发空闲消息并可进行时序控制。

在文件 GUIApplication.cpp 第 258 行定义.

参考 YSLib::i, YSLib::Application::OnGotMessage(), SM_Quit, UIResponseLimit, YB_UNLIKELY, YSLib::ynothrow , 以及 ynothrowv.

参考自 YSLib::Execute().

函数调用图:

这是这个函数的调用关系图:

Environment & YSLib::GUIApplication::GetEnvironmentRef | ( |  | ) | const

自从
  build 570

在文件 GUIApplication.cpp 第 247 行定义.

参考 platform::Deref() , 以及 init.

函数调用图:

GUIHost & YSLib::GUIApplication::GetGUIHostRef | ( |  | ) | const

自从
  build 570

在文件 GUIApplication.cpp 第 252 行定义.

参考 init.

## 类成员变量说明

ystdex::call_once_init<InitBlock, once_flag> YSLib::GUIApplication::init

private

自从
  build 692

在文件 GUIApplication.h 第 218 行定义.

参考自 GetEnvironmentRef() , 以及 GetGUIHostRef().

Messaging::Priority YSLib::GUIApplication::UIResponseLimit = 0x40

用户界面输入响应阈值。

参见
  DSApplication::Run

用于主消息队列的消息循环中控制后台消息生成策略的全局消息优先级。

在文件 GUIApplication.h 第 227 行定义.

参考自 DealMessage().

该类的文档由以下文件生成:

- GUIApplication.h
- GUIApplication.cpp