YSTest: YSLib::UI::InputTimer类 参考

YSTest PreAlpha_b500_20140530 The YSLib Test Project

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

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

全部 类 命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义 组 页
Public 类型 | Public 成员函数 | 所有成员列表
YSLib::UI::InputTimer类 参考

输入计时器。 更多...

`#include <ygui.h>`

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

## Public 类型

enum | HeldStateType { Free = 0, Pressed = 1, Held = 2 }
| 输入保持状态。 更多...
using | Duration = Timers::Duration

## Public 成员函数

| InputTimer (const Duration &=Timers::TimeSpan(1000U))
bool | RefreshHeld (HeldStateType &, const Duration &=Timers::TimeSpan(240), const Duration &=Timers::TimeSpan(120))
| 重复检测输入接触保持状态。 更多...
size_t | RefreshClick (size_t, const Duration &=Timers::TimeSpan(400))
| 重复检测连续点击状态。 更多...
void | ResetInput ()
| 复位输入计时状态。 更多...
Public 成员函数 继承自 YSLib::Timers::Timer
| Timer (const Duration &={}, bool=true)
| 构造：使用时间间隔和激活状态。 更多...
virtual | DefDeDtor (Timer) DefGetter(const ynothrow
| PDefH (void, Delay, const Duration &d) ImplExpr(nBase+
| 延时。 更多...
Duration | RefreshDelta ()
| 刷新：对于非零时间间隔判断有效性并都更新时间基点。 更多...
Duration | RefreshRemainder ()
| 刷新：对于非零时间间隔判断有效性并都更新时间基点。 更多...

## 额外继承的成员函数

Public 属性 继承自 YSLib::Timers::Timer
Duration | Interval
| 重复刷新有效的最小时间间隔。 更多...
virtual | TimePoint
virtual | BaseTick
Protected 属性 继承自 YSLib::Timers::Timer
TimePoint | nBase
| 时间基点：计时的起点。 更多...

## 详细描述

输入计时器。

自从
  build 300

实现两段延时的持续输入状态计时器。

在文件 ygui.h 第 48 行定义.

## 成员类型定义说明

using YSLib::UI::InputTimer::Duration = Timers::Duration

在文件 ygui.h 第 51 行定义.

## 成员枚举类型说明

enum YSLib::UI::InputTimer::HeldStateType

输入保持状态。

自从
  build 416

枚举值
Free |
Pressed |
Held |

在文件 ygui.h 第 56 行定义.

## 构造及析构函数说明

YSLib::UI::InputTimer::InputTimer | ( | const Duration & | d = `Timers::TimeSpan(1000U)` | ) |

在文件 ygui.cpp 第 71 行定义.

## 成员函数说明

size_t YSLib::UI::InputTimer::RefreshClick | ( | size_t | s,
|  | const Duration & | delay = `Timers::TimeSpan(400)`
| ) |  |

重复检测连续点击状态。

返回
  保持的点击次数：若不超过延时则为输入次数增加 1 ，否则为 0 。

自从
  build 416

在文件 ygui.cpp 第 99 行定义.

参考 YSLib::Timers::Timer::Activate, YSLib::Timers::Timer::Interval , 以及 YB_UNLIKELY.

参考自 YReader::ShlTextReader::OnClick().

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

bool YSLib::UI::InputTimer::RefreshHeld | ( | HeldStateType & | s,
|  | const Duration & | initial_delay = `Timers::TimeSpan(240)`,
|  | const Duration & | repeated_delay = `Timers::TimeSpan(120)`
| ) |  |

重复检测输入接触保持状态。

自从
  build 416

在文件 ygui.cpp 第 76 行定义.

参考 YSLib::Timers::Timer::Activate, Free, Held, YSLib::Timers::Timer::Interval, Pressed, YB_UNLIKELY , 以及 yunseq.

参考自 YSLib::UI::RepeatHeld().

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

void YSLib::UI::InputTimer::ResetInput | ( |  | ) |

复位输入计时状态。

自从
  build 416

在文件 ygui.cpp 第 110 行定义.

参考 YSLib::Timers::Timer::Interval.

参考自 YSLib::UI::GUIState::Reset() , 以及 YSLib::UI::GUIState::ResetHeldState().

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

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

- ygui.h
- ygui.cpp