YSTest: YSLib::UI::GUIState类 参考

YSTest PreAlpha_b400_20130424 The YSLib Test Project

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

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

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

图形用户界面公共状态。 更多...

`#include <ygui.h>`

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

## Public 成员函数

| GUIState () ynothrow
bool | IsControlEntered () const ynothrow
IWidget * | GetKeyDownPtr () const ynothrow
IWidget * | GetTouchDownPtr () const ynothrow
void | Reset ()
| 复位图形用户界面状态。
void | ResetHeldState (InputTimer::HeldStateType &)
| 复位接触保持状态。
bool | ResponseKeyBase (KeyEventArgs &, VisualEvent)
| 响应标准按键状态。
bool | ResponseTouchBase (TouchEventArgs &, VisualEvent)
| 响应标准按键状态。
bool | ResponseKey (KeyEventArgs &, VisualEvent)
| 响应标准按键状态。
bool | ResponseTouch (TouchEventArgs &, VisualEvent)
| 响应屏幕接触状态。

## Public 属性

InputTimer::HeldStateType | KeyHeldState
| 输入接触状态。
InputTimer::HeldStateType | TouchHeldState
Drawing::Vec | DraggingOffset
| 拖放偏移量。
InputTimer | HeldTimer
| 输入接触保持计时器。
Drawing::Point | ControlLocation
Drawing::Point | LastControlLocation
| 最近两次的指针设备操作时的控件全局位置（屏幕坐标）。
Styles::Palette | Colors
| 调色板。

## Private 成员函数

void | TryEntering (TouchEventArgs &&)
void | TryLeaving (TouchEventArgs &&)
Private 成员函数 继承自 ystdex::noncopyable
| noncopyable (const noncopyable &)=delete
| 禁止复制构造。
noncopyable & | operator= (const noncopyable &)=delete
| 禁止赋值复制。
| noncopyable ()=default
| `protected` 构造：默认实现。
| ~noncopyable ()=default
| `protected` 析构：默认实现。
Private 成员函数 继承自 ystdex::nonmovable
| nonmovable (const nonmovable &)=delete
| 禁止复制构造。
nonmovable & | operator= (const nonmovable &)=delete
| 禁止赋值复制。
| nonmovable ()=default
| `protected` 构造：默认实现。
| ~nonmovable ()=default
| `protected` 析构：默认实现。

## Private 属性

IWidget * | p_KeyDown
IWidget * | p_TouchDown
bool | control_entered
| 记录指针是否在控件内部。

## 详细描述

图形用户界面公共状态。

警告
  非虚析构。

自从
  build 287

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

## 构造及析构函数说明

GUIState::GUIState | ( |  | ) |

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

## 成员函数说明

IWidget* YSLib::UI::GUIState::GetKeyDownPtr | ( |  | ) | const

inline

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

IWidget* YSLib::UI::GUIState::GetTouchDownPtr | ( |  | ) | const

inline

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

bool YSLib::UI::GUIState::IsControlEntered | ( |  | ) | const

inline

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

void GUIState::Reset | ( |  | ) |

复位图形用户界面状态。

注解
  需要在没有销毁时自动释放焦点的相关控件对象被销毁后立即调用， 以避免处理无效指针。

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

参考 ControlLocation,DraggingOffset,YSLib::UI::InputTimer::Free,HeldTimer,YSLib::Drawing::GBinaryGroup< SPos >::Invalid,KeyHeldState,LastControlLocation,p_KeyDown,p_TouchDown,YSLib::UI::InputTimer::Reset(),TouchHeldState , 以及 yunseq().

参考自 GUIShell::GUIShell().

函数调用图:

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

void GUIState::ResetHeldState | ( | InputTimer::HeldStateType & | s | ) |

复位接触保持状态。

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

参考 YSLib::UI::InputTimer::Free,HeldTimer , 以及 YSLib::UI::InputTimer::Reset().

参考自 ResponseKeyBase() , 以及 ResponseTouchBase().

函数调用图:

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

bool GUIState::ResponseKey | ( | KeyEventArgs & | e,
|  | UI::VisualEvent | op
| ) |  |

响应标准按键状态。

返回
  已被响应（调用了非空事件处理器或参数 Handled 为 true）时为 true 。

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

参考 YSLib::UI::RoutedEventArgs::Bubble,YSLib::UI::RoutedEventArgs::Direct,YSLib::UI::FetchContainerPtr(),YSLib::UI::FetchFocusingPtr(),YSLib::UI::UIEventArgs::GetSender(),YSLib::UI::RoutedEventArgs::Handled,YSLib::UI::IsEnabled(),YSLib::UI::IsVisible(),ResponseKeyBase(),YSLib::UI::UIEventArgs::SetSender(),YSLib::UI::RoutedEventArgs::Strategy,YSLib::UI::RoutedEventArgs::Tunnel , 以及 YAssert.

函数调用图:

bool GUIState::ResponseKeyBase | ( | KeyEventArgs & | e,
|  | UI::VisualEvent | op
| ) |  |

响应标准按键状态。

注解
  无视事件路由，直接响应。

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

参考 YSLib::UI::UIEventArgs::GetSender(),YSLib::UI::KeyDown,YSLib::UI::KeyHeld,KeyHeldState,YSLib::UI::KeyUp,p_KeyDown,ResetHeldState() , 以及 YAssert.

参考自 ResponseKey().

函数调用图:

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

bool GUIState::ResponseTouch | ( | TouchEventArgs & | e,
|  | UI::VisualEvent | op
| ) |  |

响应屏幕接触状态。

返回
  已被响应（调用了非空事件处理器或参数 Handled 为 true）时为 true 。

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

参考 YSLib::UI::RoutedEventArgs::Bubble,ControlLocation,YSLib::UI::RoutedEventArgs::Direct,YSLib::UI::FetchContainerPtr(),YSLib::UI::GetLocationOf(),YSLib::UI::UIEventArgs::GetSender(),YSLib::UI::RoutedEventArgs::Handled,YSLib::UI::IsEnabled(),YSLib::UI::IsVisible(),ResponseTouchBase(),YSLib::UI::UIEventArgs::SetSender(),YSLib::UI::RoutedEventArgs::Strategy,YSLib::UI::RoutedEventArgs::Tunnel , 以及 YAssert.

函数调用图:

bool GUIState::ResponseTouchBase | ( | TouchEventArgs & | e,
|  | UI::VisualEvent | op
| ) |  |

响应标准按键状态。

注解
  无视事件路由，直接响应。

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

参考 DraggingOffset,YSLib::UI::UIEventArgs::GetSender(),YSLib::Drawing::GBinaryGroup< SPos >::Invalid,YSLib::UI::InputEventArgs::Keys,YSLib::UI::LocateForWidget(),p_TouchDown,ResetHeldState(),YSLib::UI::UIEventArgs::SetSender(),YSLib::UI::TouchDown,YSLib::UI::TouchHeld,TouchHeldState,YSLib::UI::TouchUp,TryEntering(),TryLeaving() , 以及 YAssert.

参考自 ResponseTouch().

函数调用图:

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

void GUIState::TryEntering | ( | TouchEventArgs && | e | ) |

private

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

参考 control_entered.

参考自 ResponseTouchBase().

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

void GUIState::TryLeaving | ( | TouchEventArgs && | e | ) |

private

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

参考 control_entered.

参考自 ResponseTouchBase().

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

## 类成员变量说明

Styles::Palette YSLib::UI::GUIState::Colors

调色板。

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

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

bool YSLib::UI::GUIState::control_entered

private

记录指针是否在控件内部。

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

参考自 TryEntering() , 以及 TryLeaving().

Drawing::Point YSLib::UI::GUIState::ControlLocation

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

参考自 Reset() , 以及 ResponseTouch().

Drawing::Vec YSLib::UI::GUIState::DraggingOffset

拖放偏移量。

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

参考自 Reset() , 以及 ResponseTouchBase().

InputTimer YSLib::UI::GUIState::HeldTimer

输入接触保持计时器。

自从
  build 300

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

参考自 Reset() , 以及 ResetHeldState().

InputTimer::HeldStateType YSLib::UI::GUIState::KeyHeldState

输入接触状态。

自从
  build 300

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

参考自 Reset() , 以及 ResponseKeyBase().

Drawing::Point YSLib::UI::GUIState::LastControlLocation

最近两次的指针设备操作时的控件全局位置（屏幕坐标）。

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

参考自 Reset().

IWidget* YSLib::UI::GUIState::p_KeyDown

private

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

参考自 Reset() , 以及 ResponseKeyBase().

IWidget* YSLib::UI::GUIState::p_TouchDown

private

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

参考自 Reset() , 以及 ResponseTouchBase().

InputTimer::HeldStateType YSLib::UI::GUIState::TouchHeldState

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

参考自 Reset() , 以及 ResponseTouchBase().

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

- ygui.h
- ygui.cpp