YSTest: YSLib::Shells::GUIShell类 参考

YSTest PreAlpha_b900_20201012 The YSLib Test Project

Public 成员函数 | Public 属性 | Protected 属性 | 所有成员列表
YSLib::Shells::GUIShell类 参考

GUI Shell 基类。 更多...

`#include <GUIShell.h>`

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

## Public 成员函数

| GUIShell ()
| 无参数构造：复位 GUI 状态。 更多...
void | OnGotMessage (const Message &) override
| 消息处理函数。 更多...
virtual void | OnInput ()
| 处理输入消息：发送绘制消息。 更多...
virtual void | OnPaint ()
| 处理绘制消息：默认为空实现。 更多...
Public 成员函数 继承自 YSLib::Shells::Shell
| DefDeCtor (Shell) virtual ~Shell()
| 无参数构造。 更多...
bool | IsActive () const
| 判断 Shell 是否处于激活状态。 更多...

## Public 属性

std::chrono::nanoseconds | IdleSleep {1000000}
| 挂起延时时间。 更多...

## Protected 属性

Devices::InputManager | imMain
| 输入管理器。 更多...

## 额外继承的成员函数

静态 Public 成员函数 继承自 YSLib::Shells::Shell
static void | DefShlProc (const Message &)
| 默认 Shell 处理函数。 更多...

## 详细描述

GUI Shell 基类。

自从
  build 398

在文件 GUIShell.h 第 46 行定义.

## 构造及析构函数说明

## ◆ GUIShell()

YSLib::Shells::GUIShell::GUIShell | ( |  | ) |

无参数构造：复位 GUI 状态。

在文件 GUIShell.cpp 第 42 行定义.

引用了 YSLib::UI::FetchGUIState().

函数调用图:

## 成员函数说明

## ◆ OnGotMessage()

void YSLib::Shells::GUIShell::OnGotMessage | ( | const Message & | msg | ) |

override

消息处理函数。

处理以下消息： 绘制消息 SM_Paint ：调用 GUIShell::OnInput 。 输入消息 SM_Input ：分发按键处理后调用 OnInput。 其它消息传递至 Shell::OnGotMessage 。

在文件 GUIShell.cpp 第 50 行定义.

引用了 YSLib::Devices::InputManager::DispatchInput(), imMain, OnInput(), SM_Input, SM_Paint , 以及 YSLib::Devices::InputManager::Update().

函数调用图:

## ◆ OnInput()

void YSLib::Shells::GUIShell::OnInput | ( |  | ) |

virtual

处理输入消息：发送绘制消息。

注解
  如需要异步更新可以覆盖本方法。

默认行为：调用 OnPaint ；若为宿主实现，更新宿主环境 GUI ， 之后线程内延时 IdleSleep 。

被 YSLib::DS::ShlDS 重载.

在文件 GUIShell.cpp 第 69 行定义.

引用了 YSLib::FetchGUIHost, IdleSleep , 以及 OnPaint().

被这些函数引用 OnGotMessage().

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

## ◆ OnPaint()

void YSLib::Shells::GUIShell::OnPaint | ( |  | ) |

virtual

处理绘制消息：默认为空实现。

在文件 GUIShell.cpp 第 84 行定义.

被这些函数引用 OnInput().

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

## 类成员变量说明

## ◆ IdleSleep

std::chrono::nanoseconds YSLib::Shells::GUIShell::IdleSleep {1000000}

挂起延时时间。

自从
  build 400

在文件 GUIShell.h 第 59 行定义.

被这些函数引用 OnInput().

## ◆ imMain

Devices::InputManager YSLib::Shells::GUIShell::imMain

protected

输入管理器。

在文件 GUIShell.h 第 52 行定义.

被这些函数引用 OnGotMessage() , 以及 YSLib::DS::ShlDS::OnGotMessage().

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

- GUIShell.h
- GUIShell.cpp