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

YSTest PreAlpha_b700_20160611 The YSLib Test Project

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

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

Public 类型 | 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 (Duration=DefaultDuration) ynothrow
| DefDeCopyCtor (InputTimer) virtual ~InputTimer()
| 虚析构：类定义外默认实现。 更多...
bool | RefreshHeld (HeldStateType &, Duration=Timers::TimeSpan(240), Duration=Timers::TimeSpan(120))
| 重复检测输入接触保持状态。 更多...
size_t | RefreshTap (size_t, Duration=Timers::TimeSpan(400))
| 重复检测连续点击状态。 更多...
Public 成员函数 继承自 YSLib::Timers::Timer
| Timer (Duration={}, bool=true) ynothrow
| 构造：使用时间间隔和激活状态。 更多...
| DefDeCopyCtor (Timer) virtual ~Timer()
| 虚析构：类定义外默认实现。 更多...
| DefDeCopyAssignment (Timer) DefGetter(const ynothrow
nBase friend | PDefH (void, Activate, Timer &tmr) ynothrow ImplExpr(tmr.nBase
| 激活：设置时间基点为当前时间。 更多...
Duration | RefreshDelta ()
| 刷新：对非零时间间隔判断有效性并都更新时间基点。 更多...
Duration | RefreshRemainder ()
| 刷新：对非零时间间隔判断有效性并都更新时间基点。 更多...

## 静态 Public 属性

static yconstexpr const Duration | DefaultDuration {Timers::TimeSpan(1000U)}

## 额外继承的成员函数

Public 属性 继承自 YSLib::Timers::Timer
Duration | Interval
| 重复刷新有效的最小时间间隔。 更多...
| TimePoint
| 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 | ( | Duration | d = `DefaultDuration` | ) |

自从
  build 572

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

## 成员函数说明

YSLib::UI::InputTimer::DefDeCopyCtor | ( | InputTimer |  | ) |

虚析构：类定义外默认实现。

自从
  build 586
  build 586

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

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

自从
  build 572

在文件 YGUI.cpp 第 74 行定义.

参考 YSLib::Activate, YSLib::UI::Pressed, YB_UNLIKELY , 以及 yunseq.

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

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

size_t YSLib::UI::InputTimer::RefreshTap | ( | size_t | ,
|  | Duration | = `Timers::TimeSpan(400)`
| ) |  |

重复检测连续点击状态。

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

自从
  build 572

## 类成员变量说明

yconstexpr const InputTimer::Duration YSLib::UI::InputTimer::DefaultDuration {Timers::TimeSpan(1000U)}

static

自从
  build 555

在文件 YGUI.h 第 64 行定义.

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

- YGUI.h
- YGUI.cpp