YSTest
PreAlpha_b400_20130424
The YSLib Test Project
|
轨道。 更多...
#include <scroll.h>
Public 类型 | |
enum | Area { None = 0, OnThumb = 1, OnPrev = 2, OnNext = 3 } |
轨道区域。 更多... | |
typedef ScrollEventArgs::ValueType | ValueType |
typedef ystdex::subscriptive_iterator < ATrack, IWidget > | Iterator |
![]() | |
typedef ScrollEventArgs::ValueType | ValueType |
Public 成员函数 | |
ATrack (const Rect &={}, SDst=8) | |
构造:使用指定边界和大小。 | |
ATrack (ATrack &&)=default | |
bool | IsHorizontal () const ynothrow |
bool | IsVertical () const ynothrow |
Iterator | GetBegin () |
Iterator | GetEnd () |
WidgetRange | GetChildren () override |
IWidget & | operator[] (size_t idx) ynoexcept |
size_t | GetChildrenCount () const ynothrow |
GEvent< void(HUIEvent::EventArgsType)> & | GetThumbDrag () ynothrow |
滑块拖动事件。 | |
GEvent< void(HScrollEvent::EventArgsType)> & | GetScroll () ynothrow |
滚动事件。 | |
SDst | GetMinThumbLength () const ynothrow |
virtual Orientation | GetOrientation () const =0 |
取轨道方向。 | |
SDst | GetScrollableLength () const ynothrow |
取可滚动区域长度。 | |
SDst | GetThumbLength () const ynothrow |
取轨道方向上的滑块长度。 | |
SDst | GetThumbPosition () const ynothrow |
取滑块位置。 | |
virtual SDst | GetTrackLength () const ynothrow |
取轨道方向上的轨道长度。 | |
ValueType | GetLargeDelta () const ynothrow |
virtual void | SetThumbLength (SDst) |
设置轨道方向上的滑块长度。 | |
void | SetThumbPosition (SPos) |
设置滑块位置。 | |
void | SetMaxValue (ValueType) |
设置滚动事件关联值最大取值。 | |
void | SetValue (ValueType) |
设置滚动事件关联值。 | |
void | SetLargeDelta (ValueType) |
设置大距离滚动偏移量。 | |
void | LocateThumb (ValueType, ScrollCategory=ScrollCategory::ThumbPosition) |
定位滑块。 | |
![]() | |
Control (const Rect &={}) | |
构造:使用指定边界,默认背景(同 Widget 默认构造)。 | |
Control (const Rect &, NoBackgroundTag) | |
构造:使用指定边界,无背景。 | |
Control (const Control &) | |
复制构造:除容器为空外深复制。 | |
Control (Control &&)=default | |
virtual IWidget * | GetBoundControlPtr (const KeyInput &) |
取按键-指针设备输入默认事件组映射。 | |
void | OnTouch_Close (TouchEventArgs &&) |
处理屏幕事件:关闭显示。 | |
![]() | |
Widget (const Rect &={}, Color=Drawing::ColorSpace::White, Color=Drawing::ColorSpace::Black) | |
template<typename _tView , typename _tRenderer , typename _tController > | |
Widget (_tView &&pView_=make_unique< View >(), _tRenderer &&pRenderer_=make_unique< Renderer >(), _tController &&pController_={}) | |
构造:使用视图指针、渲染器指针和控制器指针,无背景。 | |
Widget (const Widget &) | |
复制构造:除容器指针为空外深复制。 | |
Widget (Widget &&)=default | |
virtual | ~Widget () |
析构:虚实现。 | |
SPos | GetX () const ynothrow |
SPos | GetY () const ynothrow |
SDst | GetWidth () const ynothrow |
SDst | GetHeight () const ynothrow |
virtual Renderer & | GetRenderer () const ynothrow |
取渲染器。 | |
virtual View & | GetView () const ynothrow |
取部件视图。 | |
virtual AController & | GetController () const override |
取控制器。 | |
void | SetX (SDst _tempArgName) |
void | SetY (SDst _tempArgName) |
void | SetWidth (SDst _tempArgName) |
void | SetHeight (SDst _tempArgName) |
void | SetRenderer (unique_ptr< Renderer > &&) |
设置渲染器为指定指针指向的对象,同时更新渲染器状态。 | |
void | SetView (unique_ptr< View > &&) |
设置渲染器为指定指针指向的对象,同时更新渲染器状态。 | |
virtual void | Refresh (PaintEventArgs &&) |
刷新:按指定参数绘制界面并更新状态。 | |
![]() | |
virtual | ~IWidget () |
![]() | |
ValueType | GetMaxValue () const ynothrow |
ValueType | GetValue () const ynothrow |
Protected 成员函数 | |
Area | CheckArea (SPos) const |
检查轨道方向指定位置所在的区域。 | |
![]() | |
GMRange (ValueType m, ValueType v) | |
构造:使用指定最大取值和值。 | |
Protected 属性 | |
Thumb | tmbScroll |
滑块:轨道区域上的滚动框。 | |
![]() | |
ValueType | max_value |
最大取值。 | |
ValueType | value |
值。 | |
Private 属性 | |
SDst | min_thumb_length |
最小滑块长度。 | |
ValueType | large_delta |
大距离滚动偏移量:滚动事件关联的滑块位置变化绝对值。 | |
GEvent< void(HUIEvent::EventArgsType)> | ThumbDrag |
滑块拖动事件。 | |
GEvent< void(HScrollEvent::EventArgsType)> | Scroll |
滚动事件。 | |
额外继承的成员函数 | |
![]() | |
std::function< IWidget *(const KeyInput &)> | BoundControlPtr |
按键-指针设备输入事件组映射。 | |
|
explicit |
构造:使用指定边界和大小。
|
inlinedefault |
|
protected |
|
inlineoverridevirtual |
|
pure virtual |
取轨道方向。
在 YSLib::UI::VerticalTrack , 以及 YSLib::UI::HorizontalTrack 内被实现.
|
inline |
|
inlinevirtual |
void ATrack::LocateThumb | ( | ValueType | val, |
ScrollCategory | t = ScrollCategory::ThumbPosition |
||
) |
定位滑块。
ScrollCategory::ThumbPosition
值参数为设置指定值; 当滚动类别为 ScrollCategory::SmallDecrement
或 ScrollCategory::SmallIncrement
时参数为值变化的绝对值; 其它情况无效。 在文件 scroll.cpp 第 195 行定义.
void ATrack::SetLargeDelta | ( | ValueType | val | ) |
void ATrack::SetMaxValue | ( | ValueType | m | ) |
设置滚动事件关联值最大取值。
在文件 scroll.cpp 第 156 行定义.
参考 large_delta().
|
virtual |
设置轨道方向上的滑块长度。
在文件 scroll.cpp 第 126 行定义.
参考 YSLib::Drawing::Size::GetRef(),YSLib::UI::GetSizeOf(),YSLib::UI::Invalidate(),min_thumb_length(),YSLib::RestrictInInterval(),SetSizeOf() , 以及 tmbScroll().
void ATrack::SetThumbPosition | ( | SPos | pos | ) |
设置滑块位置。
在文件 scroll.cpp 第 141 行定义.
参考 YSLib::UI::GetLocationOf(),YSLib::Drawing::GBinaryGroup< _type >::GetRef(),YSLib::UI::Invalidate(),YSLib::RestrictInClosedInterval(),SetLocationOf() , 以及 tmbScroll().
void ATrack::SetValue | ( | ValueType | val | ) |
|
private |