YSTest: YSLib::Devices::InputManager类 参考

YSTest PreAlpha_b800_20170810 The YSLib Test Project

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

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

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

输入管理器。 更多...

`#include <InputManager.h>`

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

## Public 成员函数

| InputManager ()
void | DispatchInput (UI::IWidget &)
| 向指定部件分发响应输入状态。 更多...
observer_ptr< UI::IWidget > | Update ()
| 更新输入状态。 更多...

## Private 属性

lref< UI::GUIState > | GUI_state
| GUI 状态。 更多...
Drawing::Point | cursor_state
| 指针设备光标位置。 更多...
lref< GUIHost > | host
| GUI 宿主。 更多...

## 额外继承的成员函数

Private 成员函数 继承自 ystdex::noncopyable
| noncopyable (const noncopyable &)=delete
| 禁止复制构造。 更多...
| noncopyable (noncopyable &&)=default
| 允许转移构造。 更多...
noncopyable & | operator= (const noncopyable &)=delete
| 禁止复制赋值。 更多...
noncopyable & | operator= (noncopyable &&)=default
| 允许转移赋值。 更多...
| noncopyable ()=default
| `protected` 构造：默认实现。 更多...
| ~noncopyable ()=default
| `protected` 析构：默认实现。 更多...

## 详细描述

输入管理器。

自从
  build 323

在文件 InputManager.h 第 45 行定义.

## 构造及析构函数说明

YSLib::Devices::InputManager::InputManager | ( |  | ) |

参见
  FetchGUIHost
  UI::FetchGUIState

在文件 InputManager.cpp 第 48 行定义.

## 成员函数说明

void YSLib::Devices::InputManager::DispatchInput | ( | UI::IWidget & |  | ) |

向指定部件分发响应输入状态。

注解
  Win32 平台：更新文本焦点缓存和插入符位置缓存。

自从
  build 387

指定平台相关的用户界面输入处理。

在文件 InputManager.cpp 第 60 行定义.

参考 CHRLib::c, YSLib::UI::CallInputEvent(), cursor_state, YSLib::UI::CursorOver, YSLib::UI::CursorWheel, platform::Deref(), CHRLib::e, ystdex::erase_left(), platform_ex::FetchKeyDownState(), platform_ex::FetchKeyState(), platform_ex::FetchKeyUpState(), ystdex::lref< _type >::get(), GUI_state, host, platform::Descriptions::Informative, YSLib::Drawing::GBinaryGroup< SPos >::Invalid, YSLib::UI::KeyDown, YSLib::UI::KeyHeld, YSLib::UI::KeyUp, platform::KeyCodes::DS::Primary, platform::KeyCodes::DS::Secondary, platform::KeyCodes::DS::Tertiary, YSLib::UI::TouchDown, YSLib::UI::TouchHeld, YSLib::UI::TouchUp, YB_UNLIKELY, YTraceDe , 以及 yunseq.

参考自 YSLib::Shells::GUIShell::OnGotMessage() , 以及 YSLib::DS::ShlDS::OnGotMessage().

函数调用图:

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

observer_ptr< IWidget > YSLib::Devices::InputManager::Update | ( |  | ) |

更新输入状态。

返回
  非宿主实现总是空指针，否则是待分发输入状态的顶层部件指针。

注解
  对宿主实现，当前忽略顶级窗口不是 Host::Window 的情形。

自从
  build 670

在文件 InputManager.cpp 第 153 行定义.

参考 cursor_state, platform_ex::FetchKeyState(), host, ystdex::make_observer(), platform::KeyCodes::DS::Touch , 以及 platform_ex::UpdateKeyStates().

参考自 YSLib::Shells::GUIShell::OnGotMessage() , 以及 YSLib::DS::ShlDS::OnGotMessage().

函数调用图:

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

## 类成员变量说明

Drawing::Point YSLib::Devices::InputManager::cursor_state

private

指针设备光标位置。

注解
  没有必要把输入内容以消息队列传输，因为总是有且仅有一个实例被同时处理。

在文件 InputManager.h 第 57 行定义.

参考自 DispatchInput() , 以及 Update().

lref<UI::GUIState> YSLib::Devices::InputManager::GUI_state

private

GUI 状态。

自从
  build 554

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

参考自 DispatchInput().

lref<GUIHost> YSLib::Devices::InputManager::host

private

GUI 宿主。

自从
  build 689

在文件 InputManager.h 第 62 行定义.

参考自 DispatchInput() , 以及 Update().

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

- InputManager.h
- InputManager.cpp