YSTest: YSLib::UI::ATrack类 参考

YSTest PreAlpha_b800_20170810 The YSLib Test Project

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

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

Public 类型 | Public 成员函数 | Public 属性 | Protected 成员函数 | Protected 属性 | Private 属性 | 所有成员列表
YSLib::UI::ATrack类 参考

轨道。 更多...

`#include <Scroll.h>`

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

## Public 类型

enum | Area { None = 0, OnThumb = 1, OnPrev = 2, OnNext = 3 }
| 轨道区域。 更多...
using | ValueType = ScrollEventArgs::ValueType
using | iterator = ystdex::subscriptive_iterator< ATrack, IWidget >
Public 类型 继承自 YSLib::GMRange< ScrollEventArgs::ValueType >
using | ValueType = ScrollEventArgs::ValueType

## Public 成员函数

| ATrack (const Rect &={}, SDst=8)
| 构造：使用指定边界和大小。 更多...
| DefDeMoveCtor (ATrack) DefPred(const ynothrow
| GetOrientation ()
| 取可滚动区域长度。 更多...
void | SetThumbPosition (SPos)
| 设置滑块位置。 更多...
void | SetMaxValue (ValueType)
| 设置滚动事件关联值最大取值。 更多...
void | SetValue (ValueType)
| 设置滚动事件关联值。 更多...
void | SetLargeDelta (ValueType)
| 设置大距离滚动偏移量。 更多...
void | LocateThumb (ValueType, ScrollCategory=ScrollCategory::ThumbPosition)
| 定位滑块。 更多...
Public 成员函数 继承自 YSLib::UI::Widget
| Widget (const Rect &={})
| Widget (const Rect &, HBrush)
template<typename _tView , typename _tRenderer , typename _tController >
| Widget (_tView &&pView_=make_unique< View >(), _tRenderer &&pRenderer_=make_unique< Renderer >(), _tController &&pController_={})
| 构造：使用视图指针、渲染器指针和控制器指针，无背景。 更多...
| Widget (const Widget &)
| 复制构造：除容器指针为空外深复制。 更多...
| DefDelMoveCtor (Widget) virtual ~Widget()
| since build 428 更多...
| DefGetter (ImplI(IWidget), WidgetRange, Children, WidgetRange()) static HBrush MakeBlankBrush()
| 取空白画刷。 更多...
| DefGetter (const ImplI(IWidget), AController &, Controller, Deref(controller_ptr)) DefGetterMem(const ynothrow
| GetView ()) DefGetter(const ImplI(IWidget)
Renderer | Deref (renderer_ptr)) DefGetter(const ImplI(IWidget)
Renderer AView | Deref (view_ptr)) DefGetterMem(const ynothrow
Renderer AView | GetView ()) DefGetterMem(const ynothrow
Renderer AView | GetView ()) DefGetterMem(const ynothrow
Renderer AView | GetView ()) DefSetterMem(
Renderer AView | GetView ()) DefSetterMem(
Renderer AView | GetView ()) DefSetterMem(
Renderer AView | GetView ()) DefSetterMem(
Renderer AView | GetView ()) void SetRenderer(unique_ptr< Renderer >)
| 设置渲染器为指定指针指向的对象，同时更新渲染器状态。 更多...
void | SetView (unique_ptr< AView >)
| 设置视图为指定指针指向的对象。 更多...
virtual void | Refresh (PaintEventArgs &&)
| 刷新：按指定参数绘制界面并更新状态。 更多...
Public 成员函数 继承自 YSLib::GMRange< ScrollEventArgs::ValueType >
| DefGetter (const ynothrow, ValueType, MaxValue, max_value) DefGetter(const ynothrow

## Public 属性

GEvent< void(UIEventArgs &&)> | ThumbDrag
| 滑块拖动事件。 更多...
GEvent< void(ScrollEventArgs &&)> | Scroll
| 滚动事件。 更多...
| Horizontal
Public 属性 继承自 YSLib::UI::Widget
HBrush | Background
| 背景。 更多...
| SDst
| Height
Renderer | Renderer
Renderer AView | View
Renderer AView | SDst
Renderer AView | Width
Renderer AView | SPos
Renderer AView | X
Renderer AView | Y
Renderer AView | Height
Public 属性 继承自 YSLib::GMRange< ScrollEventArgs::ValueType >
| ValueType
| Value

## Protected 成员函数

Area | CheckArea (SPos) const
| 检查轨道方向指定位置所在的区域。 更多...
Protected 成员函数 继承自 YSLib::UI::Control
| Control (const Rect &, HBrush)
| 构造：使用指定边界和背景画刷。 更多...
| Control (const Control &)
| 复制构造：除容器为空外深复制。 更多...
| DefDeMoveCtor (Control)~Control() override
| 虚析构：类定义外默认实现。 更多...
virtual | PDefH (observer_ptr< IWidget >, GetBoundControlPtr, const KeyInput &) ImplRet(nullptr) void OnTouch_Close(CursorEventArgs &&)
| 取按键-指针设备输入默认事件组映射。 更多...
Protected 成员函数 继承自 YSLib::GMRange< ScrollEventArgs::ValueType >
| GMRange (ValueType m, ValueType v)
| 构造：使用指定最大取值和值。 更多...

## Protected 属性

Thumb | tmbScroll
| 滑块：轨道区域上的滚动框。 更多...
Protected 属性 继承自 YSLib::GMRange< ScrollEventArgs::ValueType >
ValueType | max_value
| 最大取值。 更多...
ValueType | value
| 值。 更多...

## Private 属性

SDst | min_thumb_length
| 最小滑块长度。 更多...
ValueType | large_delta
| 大距离滚动偏移量：滚动事件关联的滑块位置变化绝对值。 更多...

## 额外继承的成员函数

相关函数 继承自 YSLib::UI::Widget
template<class... _tWidgets>
void | InvalidateWidgets (_tWidgets &...wgts)
| 向无效化部件。 更多...
template<class _tRenderer >
_tRenderer & | WrapRenderer (Widget &wgt, unique_ptr< _tRenderer > p_renderer)
| 包装渲染器：设置渲染器并返回被设置的渲染器引用。 更多...

## 详细描述

轨道。

自从
  build 167

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

## 成员类型定义说明

using YSLib::UI::ATrack::iterator = ystdex::subscriptive_iterator<ATrack, IWidget>

自从
  build 460

在文件 Scroll.h 第 147 行定义.

using YSLib::UI::ATrack::ValueType = ScrollEventArgs::ValueType

值类型。

在文件 Scroll.h 第 145 行定义.

## 成员枚举类型说明

enum YSLib::UI::ATrack::Area

轨道区域。

自从
  build 416

枚举值
None |
OnThumb |
OnPrev |
OnNext |

在文件 Scroll.h 第 137 行定义.

## 构造及析构函数说明

YSLib::UI::ATrack::ATrack | ( | const Rect & | r = `{}`,
|  | SDst | uMinThumbLength = `8`
| ) |  |

explicit

构造：使用指定边界和大小。

自从
  build 337

在文件 Scroll.cpp 第 89 行定义.

参考 YSLib::Drawing::Size::Height , 以及 YSLib::Drawing::Size::Width.

## 成员函数说明

ATrack::Area YSLib::UI::ATrack::CheckArea | ( | SPos | q | ) | const

protected

检查轨道方向指定位置所在的区域。

在文件 Scroll.cpp 第 183 行定义.

参考 YSLib::a, None, OnNext, OnPrev, OnThumb, YSLib::UI::Widget::SPos , 以及 yconstexpr.

YSLib::UI::ATrack::DefDeMoveCtor | ( | ATrack |  | ) | const

YSLib::UI::ATrack::GetOrientation | ( |  | ) |

取可滚动区域长度。

取轨道方向上的滑块长度。 取轨道方向上的轨道长度。

void YSLib::UI::ATrack::LocateThumb | ( | ValueType | val,
|  | ScrollCategory | t = `ScrollCategory::ThumbPosition`
| ) |  |

定位滑块。

注解
  指定滚动事件关联值设置滑块位置并触发对应事件。
  当滚动类别为 `ScrollCategory::ThumbPosition` 值参数为设置指定值； 当滚动类别为 `ScrollCategory::SmallDecrement` 或 `ScrollCategory::SmallIncrement` 时参数为值变化的绝对值； 其它情况无效。

在文件 Scroll.cpp 第 199 行定义.

参考 YSLib::UI::First, YSLib::UI::LargeDecrement, YSLib::UI::LargeIncrement, YSLib::UI::Last, YSLib::GMRange< ScrollEventArgs::ValueType >::max_value, Scroll, SetThumbPosition(), SetValue(), YSLib::UI::SmallDecrement, YSLib::UI::SmallIncrement, YSLib::UI::Widget::SPos, YSLib::UI::ThumbTrack, YSLib::GMRange< ScrollEventArgs::ValueType >::value , 以及 YB_ATTR_fallthrough.

函数调用图:

void YSLib::UI::ATrack::SetLargeDelta | ( | ValueType | val | ) |

设置大距离滚动偏移量。

注解
  同步按滑块长度和最大取值的比例设置滑块位置。

在文件 Scroll.cpp 第 176 行定义.

参考 large_delta, YSLib::GMRange< ScrollEventArgs::ValueType >::max_value , 以及 YSLib::UI::Widget::SDst.

void YSLib::UI::ATrack::SetMaxValue | ( | ValueType | m | ) |

设置滚动事件关联值最大取值。

注解
  当指定值非正值时无效。
  约束 large_delta 不大于指定值。

在文件 Scroll.cpp 第 160 行定义.

参考 large_delta , 以及 YSLib::GMRange< ScrollEventArgs::ValueType >::max_value.

void YSLib::UI::ATrack::SetThumbPosition | ( | SPos | pos | ) |

设置滑块位置。

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

参考 YSLib::UI::GetLocationOf, YSLib::UI::Invalidate(), YSLib::UI::SetLocationOf(), YSLib::UI::Widget::SPos , 以及 tmbScroll.

参考自 LocateThumb() , 以及 SetValue().

函数调用图:

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

void YSLib::UI::ATrack::SetValue | ( | ValueType | val | ) |

设置滚动事件关联值。

注解
  同步按滑块长度和最大取值的比例设置滑块位置。

在文件 Scroll.cpp 第 170 行定义.

参考 YSLib::GMRange< ScrollEventArgs::ValueType >::max_value, SetThumbPosition(), YSLib::UI::Widget::SPos , 以及 YSLib::GMRange< ScrollEventArgs::ValueType >::value.

参考自 LocateThumb().

函数调用图:

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

## 类成员变量说明

YSLib::UI::ATrack::Horizontal

在文件 Scroll.h 第 177 行定义.

ValueType YSLib::UI::ATrack::large_delta

private

大距离滚动偏移量：滚动事件关联的滑块位置变化绝对值。

在文件 Scroll.h 第 159 行定义.

参考自 SetLargeDelta() , 以及 SetMaxValue().

SDst YSLib::UI::ATrack::min_thumb_length

private

最小滑块长度。

在文件 Scroll.h 第 157 行定义.

GEvent<void(ScrollEventArgs&&)> YSLib::UI::ATrack::Scroll

滚动事件。

在文件 Scroll.h 第 167 行定义.

参考自 YSLib::UI::HexViewArea::HexViewArea(), YSLib::UI::ListBox::ListBox() , 以及 LocateThumb().

GEvent<void(UIEventArgs&&)> YSLib::UI::ATrack::ThumbDrag

滑块拖动事件。

在文件 Scroll.h 第 165 行定义.

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

Thumb YSLib::UI::ATrack::tmbScroll

protected

滑块：轨道区域上的滚动框。

自从
  build 374

在文件 Scroll.h 第 154 行定义.

参考自 YSLib::UI::HorizontalTrack::HorizontalTrack() , 以及 SetThumbPosition().

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

- Scroll.h
- Scroll.cpp