YSTest: YSLib::UI 命名空间参考

YSTest PreAlpha_b900_20201012 The YSLib Test Project

命名空间 | 类 | 类型定义 | 枚举 | 函数 | 变量
YSLib::UI 命名空间参考

## 命名空间

| Styles

## 类

class | AController
| 抽象控制器。 更多...
class | AMUnitControlList
| 控件列表模块。 更多...
class | AMUnitList
| 单元部件列表模块。 更多...
class | ATrack
| 轨道。 更多...
class | AView
| 抽象部件视图。 更多...
class | BadEvent
| 错误或不存在的部件事件异常。 更多...
class | BorderBrush
| 边框画刷。 更多...
class | BorderResizer
| 调整大小的边框。 更多...
class | BorderStyle
| 边框样式。 更多...
class | BufferedRenderer
| 带缓冲的部件渲染器。 更多...
class | BufferedTextArea
| 缓冲文本区域。 更多...
class | Button
| 按钮。 更多...
class | Caret
| 插入符光标。 更多...
class | CheckBox
| 复选框。 更多...
class | CheckButton
| 复选按钮。 更多...
class | ColorBox
| 拾色框。 更多...
class | Console
| 控制台。 更多...
class | Control
| 控件。 更多...
class | Controller
| 部件控制器。 更多...
struct | CursorEventArgs
| 指针设备输入事件参数类。 更多...
class | CursorWheelEventArgs
| 滚轮事件参数。 更多...
class | Desktop
| 桌面。 更多...
class | DialogBox
| 对话框。 更多...
class | DialogPanel
| 对话面板。 更多...
class | DropDownList
| 下拉列表。 更多...
class | DynamicWidget
| 动态部件。 更多...
class | EventRef
| 事件引用。 更多...
struct | EventTypeMapping
struct | EventTypeMapping< Click >
struct | EventTypeMapping< ClickAcross >
struct | EventTypeMapping< CursorOver >
struct | EventTypeMapping< CursorWheel >
struct | EventTypeMapping< Enter >
struct | EventTypeMapping< GotFocus >
struct | EventTypeMapping< KeyDown >
struct | EventTypeMapping< KeyHeld >
struct | EventTypeMapping< KeyPress >
struct | EventTypeMapping< KeyUp >
struct | EventTypeMapping< Leave >
struct | EventTypeMapping< LostFocus >
struct | EventTypeMapping< Move >
struct | EventTypeMapping< Paint >
struct | EventTypeMapping< Resize >
struct | EventTypeMapping< TextInput >
struct | EventTypeMapping< TouchDown >
struct | EventTypeMapping< TouchHeld >
struct | EventTypeMapping< TouchUp >
class | FileBox
| 文件列表框。 更多...
class | GAnimationSession
| 动画会话。 更多...
class | GMSelector
| 选择器模型模板。 更多...
struct | GValueEventArgs
| 简单 UI 事件参数类。 更多...
class | GWidgetInserterRegister
| 加载器注册接口：加载一个或多个键和添加部件引用例程。 更多...
class | GWidgetRegister
| 加载器注册接口：加载一个或多个键和类初始化例程。 更多...
class | HexModel
| 十六进制模型：十六进制视图区域数据源。 更多...
class | HexView
| 十六进制视图。 更多...
class | HexViewArea
| 十六进制视图区域。 更多...
class | HorizontalTrack
| 水平轨道。 更多...
class | HoverUpdater
| 悬停更新器。 更多...
struct | InputEventArgs
| 输入事件参数类。 更多...
class | InputTimer
| 输入计时器。 更多...
class | InvalidationUpdater
| 无效状态更新器。 更多...
struct | KeyEventArgs
| 按键输入事件参数类。 更多...
class | Label
| 标签。 更多...
class | ListBox
| 带滚动条的文本列表框。 更多...
class | MCheckBox
| 复选框模块。 更多...
class | Menu
| 菜单。 更多...
class | MenuHost
| 菜单宿主。 更多...
class | MHilightText
| 高亮文本模块。 更多...
class | MLabel
| 标签模块。 更多...
class | MLinearUIContainer
| 线性部件容器模块。 更多...
class | MOriented
| 方向模块。 更多...
class | MSharedSelection
| 单选框模块。 更多...
class | MTextList
| 文本列表模块。 更多...
class | MUIContainer
| 部件容器模块。 更多...
struct | PaintEventArgs
| 部件绘制参数。 更多...
class | Panel
| 面板。 更多...
class | ProgressBar
| 进度条。 更多...
class | PseudoRenderer
| 伪渲染器：静态类型的所有实际操作不产生可观察的副作用。 更多...
class | RadioBox
| 单选框。 更多...
class | RadioButton
| 单选按钮。 更多...
class | Renderer
| 部件渲染器。 更多...
struct | RoutedEventArgs
| 路由事件参数基类。 更多...
class | ScrollableContainer
| 带滚动条的容器。 更多...
class | ScrollBar
| 滚动条。 更多...
struct | ScrollEventArgs
| 滚动事件参数类。 更多...
class | SequenceViewer
| 序列视图。 更多...
class | TabBar
| 标签栏控件。 更多...
class | TabControl
| 标签容器控件。 更多...
class | TextArea
| 文本区域。 更多...
class | TextBox
| 文本框。 更多...
class | TextInputEventArgs
| 文本输入事件参数。 更多...
class | TextList
| 文本列表。 更多...
class | TextPlaceholder
| 添加默认文本到特定的部件。 更多...
struct | TextSelection
| 文本选择区域。 更多...
class | Thumb
| 基本按钮。 更多...
class | TreeList
| 树形列表。 更多...
class | TreeView
| 带滚动条的树形视图。 更多...
struct | UIEventArgs
| 用户界面事件参数基类。 更多...
class | UIEventSignal
| 用户事件信号：表示携带用户事件的消息处理中断的异常。 更多...
class | VerticalTrack
| 竖直轨道。 更多...
class | View
| 部件视图。 更多...
class | ViewSignal
| 视图操作消息信号。 更多...
class | Visual
| 可视状态。 更多...
class | Widget
| 部件。 更多...
class | WidgetController
| 部件控制器。 更多...
class | WidgetLoader
| 部件加载器。 更多...
class | Window
| 窗口。 更多...

## 类型定义

using | Form = Window
using | IndexEventArgs = GValueEventArgs< size_t >
| 索引事件。 更多...
template<typename... _tParams>
using | GWidgetCreator = unique_ptr< IWidget >(*)(_tParams...)
template<typename... _tParams>
using | GWidgetInserter = void(*)(IWidget &, _tParams...)
using | HBrush = ystdex::optional_function< void(PaintEventArgs &&)>
| 画刷回调函数。 更多...
using | ZOrder = std::uint8_t
| Z 顺序类型：覆盖顺序，值越大表示越接近顶层。 更多...
using | WidgetIterator = ystdex::any_input_iterator< IWidget >
| 通用部件迭代器。 更多...
using | WidgetRange = pair< WidgetIterator, WidgetIterator >
| 两个部件迭代器组成的左闭右开区间确定的迭代器范围。 更多...
using | WheelDelta = ptrdiff_t
| 滚轮度量：以角度计量的转动滚轮的幅度。 更多...
using | HUIEvent = GHEvent< void(UIEventArgs &&)>
using | HInputEvent = GHEvent< void(InputEventArgs &&)>
using | HKeyEvent = GHEvent< void(KeyEventArgs &&)>
using | HCursorEvent = GHEvent< void(CursorEventArgs &&)>
using | HPaintEvent = GHEvent< void(PaintEventArgs &&)>
using | HCursorWheelEvent = GHEvent< void(CursorWheelEventArgs &&)>
| 指针设备滚轮事件。 更多...
using | HTextInputEvent = GHEvent< void(TextInputEventArgs &&)>
| 文本输入事件。 更多...
template<VisualEvent _vID>
using | HandlerOf = typename EventTypeMapping< _vID >::HandlerType
| 取索引指定的事件处理器类型。 更多...
template<VisualEvent _vID>
using | EventOf = GEvent< typename HandlerOf< _vID >::FuncType >
| 取索引指定的事件类型。 更多...
using | EventItem = ValueObject
| 事件映射项类型。 更多...
using | VisualEventMap = map< VisualEvent, EventItem >
| 映射表类型。 更多...

## 枚举

enum | BorderArea : std::uint8_t { BorderArea::Left = 0, BorderArea::Up = 0, BorderArea::Center = 1, BorderArea::Right = 2, BorderArea::Down = 2 }
| 边框区域。 更多...
enum | TextAlignment { TextAlignment::Left = 0, TextAlignment::Up = 0, TextAlignment::Center = 1, TextAlignment::Right = 2, TextAlignment::Down = 2 }

enum

ScrollCategory {
ScrollCategory::SmallDecrement = 0, ScrollCategory::SmallIncrement = 1, ScrollCategory::LargeDecrement = 2, ScrollCategory::LargeIncrement = 3,
ScrollCategory::ThumbPosition = 4, ScrollCategory::ThumbTrack = 5, ScrollCategory::First = 6, ScrollCategory::Last = 7,
ScrollCategory::EndScroll = 8
}

| 滚动类别。 更多...
enum | CursorState { CursorState::Outside, CursorState::Over, CursorState::Pressed }
| 指针设备光标相对控件的状态。 更多...

enum

VisualEvent : size_t {
Move, Resize, KeyUp, KeyDown,
KeyHeld, KeyPress, TouchUp, TouchDown,
TouchHeld, Click, ClickAcross, CursorOver,
CursorWheel, TextInput, Paint, GotFocus,
LostFocus, Enter, Leave, MaxEvent
}

| 标准控件事件空间。 更多...

## 函数

YF_API void | SwitchVisible (IWidget &)
| 切换部件显示状态并无效化。 更多...
YF_API void | SwitchVisibleToFront (IWidget &)
| 切换部件显示状态并请求提升至前端。 更多...
template<class _tWidget >
void | SetBufferRendererAndText (_tWidget &wgt, const String &s)
| 设置部件渲染器为 BufferedRenderer 及部件的 Text 成员。 更多...
YF_API shared_ptr< TextList::ListType > | FetchVisualStyleNames (String=u"<Default>")
| 取视觉样式名称。 更多...
yconstexpr const Messaging::Priority | AnimationPriority (0x20)
| 默认背景动画任务消息优先级。 更多...
template<typename _fUpdater >
void | AnimateTask (_fUpdater update, Messaging::Priority prior=UI::AnimationPriority)
| 按更新条件和优先级通过消息队列部署动画任务。 更多...
template<typename _fUpdater >
void | AnimateConnection (const shared_ptr< _fUpdater > &conn, Messaging::Priority prior=UI::AnimationPriority)
| 按指定的连接对象更新动画任务。 更多...
template<typename _fUpdater >
void | Animate (_fUpdater f, Messaging::Priority prior=UI::AnimationPriority)
| 按指定的可调用对象初始化为连接对象更新动画任务。 更多...
_fCallable void | Restart (_tAnimation &ani, IWidget &wgt, _fCallable f)
template<class _tAnimation , typename _func >
void | Setup (_tAnimation &ani, IWidget &wgt, _func f)
| 安装动画效果。 更多...
template<class _tAnimation , typename _func , typename _fCond >
void | Setup (_tAnimation &ani, IWidget &wgt, _fCond cond, _func f)
template<class _tAnimation , typename _func , typename _tTimer >
void | SetupByTimer (_tAnimation &ani, IWidget &wgt, _tTimer &&timer, _func f)
| 安装以计时器控制的动画效果。 更多...
YF_API void | ActAfter (IWidget &, Timers::TimeSpan)
| 在一定时间后对部件进行操作。 更多...
| PDefH (void, DisplayFor, IWidget &wgt, Timers::TimeSpan delay) ImplExpr(Show(wgt)
| 在一定时间内显示部件。 更多...
| PDefH (void, Activate, Console &console, Drawing::Color fc=Drawing::ColorSpace::White) ImplExpr(Activate(console
| 激活：使用指定屏幕、有效性、前景色和默认背景色。 更多...
template<typename _func , typename... _tParams>
void | ActOnHover (IWidget &wgt, _func f, _tParams &&... args)
| 设置悬停动作。 更多...
template<typename _func >
void | SetRendererOnHover (IWidget &wgt, Widget &target, _func f)
| 设置悬停操作渲染器。 更多...
YF_API void | SetupContentsOf (Label &, const String &, const Rect &=Rect::Invalid, const Drawing::Font &={}, const Drawing::Padding &=Drawing::DefaultMargin *2)
| 设置指定字符串、初始边界、字体和边距的单行文本需要的标签。 更多...
YF_API void | UpdateView (TextList &, bool is_active={})
| 更新文本列表视图。 更多...
YF_API Rect | ParseRect (const string &)
template<typename _tWidget , typename... _tParams>
static unique_ptr< IWidget > | CreateUniqueWidget (_tParams &&... args)
| 注册部件加载器：创建部件。 更多...
template<typename _tWidget , typename... _tParams>
static void | InsertWidget (IWidget &wgt, _tParams &&... args)
| 注册部件加载器：添加部件引用。 更多...
| PDefH (bool, CheckChildName, string_view sv) ImplRet((YAssertNonnull(sv.data())
| 检查是否为元数据名称。 更多...
!sv | empty () &&sv.front() !
yconstfn | PDefH (ValueNode &, AccessWidgetNode, ValueNode &nd) ImplRet(nd) template< typename... _tParams > ValueNode &AccessWidgetNode(ValueNode &node
| 按指定名称访问子部件节点。 更多...
template<typename... _tParams>
IWidget & | AccessWidget (ValueNode &node, const string &name, _tParams &&... args)
template<class _tWidget , typename... _tParams>
_tWidget & | AccessWidget (ValueNode &node, _tParams &&... args)
yconstexpr const ZOrder | DefaultMenuZOrder (224)
| 默认菜单 Z 顺序值。 更多...
YF_API void | BindTopLevelPopupMenu (MenuHost &, Menu &, IWidget &, KeyIndex k=KeyCodes::Secondary)
| 绑定顶层部件的按键事件弹出菜单。 更多...
YF_API void | DrawTrackBackground (PaintEventArgs &&e, ATrack &)
| 绘制指定色调的基本按钮背景。 更多...
| FwdDeclI (IWidget) struct InputEventArgs
| PDefH (bool, IsEnabled, const IWidget &wgt) ImplRet(wgt.GetController().IsEnabled()) inline PDefH(void
| 判断部件是否为可用的控件。 更多...
IWidget bool b | ImplExpr (wgt.GetController().SetEnabled(b)) YF_API bool Enable(IWidget &
| 设置部件可用性，且当可用性改变时无效化部件区域。 更多...
template<VisualEvent _vID>
EventOf< _vID > & | FetchEvent (IWidget &wgt)
| 取部件事件。 更多...
template<VisualEvent _vID, typename _tEventArgs >
size_t | CallEvent (IWidget &wgt, _tEventArgs &&e)
| 调用部件事件，并忽略 BadEvent 异常。 更多...
template<VisualEvent _vID, class _tEventArgs >
void | OnEvent_Call (_tEventArgs &&e)
| 处理事件：直接转发至发送者。 更多...
template<class _tEventArgs >
void | OnEvent_StopRouting (_tEventArgs &&e)
| 处理事件：停止事件路由。 更多...
YF_API void | OnUIEvent_Invalidate (UIEventArgs &&)
| 处理用户界面事件：无效化发送者。 更多...
YF_API void | OnKeyHeld (KeyEventArgs &&)
| 处理键接触保持事件。 更多...
YF_API void | OnTouchDown_RequestToFrontFocused (CursorEventArgs &&)
| 处理屏幕接触开始事件：使用一般接触策略。 更多...
YF_API void | OnTouchHeld (CursorEventArgs &&)
| 处理屏幕接触保持事件。 更多...
YF_API void | OnTouchHeld_Dragging (CursorEventArgs &&)
| 处理屏幕接触移动事件：拖放按下部件。 更多...
YF_API void | OnTouchHeld_DraggingRaw (CursorEventArgs &&, IWidget &)
| 处理屏幕接触移动事件：拖放指定部件。 更多...
YF_API void | OnKey_Bound_TouchUp (KeyEventArgs &&)
| 处理按键事件：按键-指针设备接触结束。 更多...
YF_API void | OnKey_Bound_TouchDown (KeyEventArgs &&)
| 处理按键事件：按键-指针设备接触开始。 更多...
YF_API void | OnKey_Bound_Click (KeyEventArgs &&)
| 处理按键事件：按键-指针设备按下。 更多...
YF_API bool | IsFocused (const IWidget &)
| 判断部件是否取得焦点。 更多...
YF_API bool | DoRequestFocus (IWidget &, bool release_event={})
| 向部件容器请求获得焦点，并指定 GotFocus 事件发送控件。 更多...
YF_API bool | DoReleaseFocus (IWidget &)
| 释放焦点：验证并清空容器部件的焦点指针。 更多...
YF_API void | RequestFocusFrom (IWidget &dst, IWidget &src)
| 向部件容器请求获得焦点，并指定 GotFocus 事件发送控件。 更多...
YF_API void | ReleaseFocusFrom (IWidget &dst, IWidget &src)
| 释放焦点，并指定 LostFocus 事件发送控件。 更多...
| PDefH (void, RequestFocus, IWidget &wgt) ImplExpr(RequestFocusFrom(wgt
| 向部件容器释放获得焦点，成功后向自身发送 GotFocus 事件。 更多...
wgt | PDefH (void, ReleaseFocus, IWidget &wgt) ImplExpr(ReleaseFocusFrom(wgt
| 释放焦点，成功后向自身发送 LostFocus 事件。 更多...
wgt wgt YF_API void | ClearFocusingOf (IWidget &)
| 清除焦点指针并以此部件作为事件源调用被清除焦点部件的 LostFocus 事件。 更多...
YF_API bool | IsFocusedCascade (const IWidget &, observer_ptr< const IWidget >={})
| 判断部件相对指针指定的部件是否具有级联焦点。 更多...
YF_API void | RequestFocusCascade (IWidget &)
| 级联请求部件及上层容器焦点。 更多...
YF_API void | ReleaseFocusCascade (IWidget &)
| 级联释放部件及上层容器焦点。 更多...
YF_API bool | RepeatHeld (InputTimer &, InputTimer::HeldStateType &, const Timers::Duration &, const Timers::Duration &)
| 向指定计时器传递参数，根据状态重复按键。 更多...
YF_API void | CallInputEvent (IWidget &, const String &, const KeyInput &)
| 调用指定部件的 TextInput 事件处理指定的输入。 更多...
| PDefH (bool, CallInputEvent, char16_t c, const KeyInput &k, IWidget &wgt) ImplRet(c !
YB_ATTR_nodiscard YF_API YB_PURE IWidget & | FetchTopLevel (IWidget &)
| 取指定部件的顶层部件。 更多...
YF_API IWidget & | FetchTopLevel (IWidget &, Point &)
| 取指定部件的顶层部件，当返回非第一参数时变换坐标。 更多...
YB_ATTR_nodiscard YF_API YB_PURE vector< pair< observer_ptr< const IWidget >, Point > > | FetchTrace (const IWidget &)
| 取指定部件向上遍历的轨迹：相对自身和所有父部件的位置。 更多...
YB_ATTR_nodiscard YF_API YB_PURE Point | LocateOffset (observer_ptr< const IWidget >, Point, observer_ptr< const IWidget >)
| 取相对第三参数指向的部件的点相对第一参数指向的容器的偏移坐标。 更多...
YB_ATTR_nodiscard YB_PURE | PDefH (Point, LocateContainerOffset, const IWidget &wgt, const Point &pt) ImplRet(pt+GetLocationOf(wgt)) YB_ATTR_nodiscard YF_API Point LocateForTopOffset(const Point &
| 取相对部件 wgt 的点 pt 相对 wgt 的容器的偏移坐标。 更多...
YB_ATTR_nodiscard YB_PURE IWidget const Point &YB_ATTR_nodiscard YF_API YB_PURE Point | LocateForTrace (const vector< pair< observer_ptr< const IWidget >, Point >> &, const IWidget &)
| 取指定部件相对轨迹的偏移坐标。 更多...
YB_ATTR_nodiscard YB_PURE | PDefH (Point, LocateForWidget, const IWidget &base, const IWidget &wgt) ImplRet(LocateForTrace(FetchTrace(base)
| 取部件 wgt 相对部件 base 指定的部件的偏移坐标。 更多...
template<class _tWidget , typename _fFetcher >
YB_ATTR_nodiscard YB_PURE wgt Point | LocateForWidgetNode (IWidget &wgt, _fFetcher fetch_ptr)
| 取指定部件相对视图树中的直接节点指针的偏移坐标。 更多...
YB_ATTR_nodiscard YF_API YB_PURE Point | LocateForParentContainer (const IWidget &)
| 取指定部件相对容器的父容器的偏移坐标。 更多...
YF_API void | MoveToBottom (IWidget &)
| 移动部件至容器下端。 更多...
YF_API void | MoveToCenter (IWidget &)
| 移动部件至容器中心。 更多...
YF_API void | MoveToLeft (IWidget &)
| 移动部件至容器左端。 更多...
YF_API void | MoveToRight (IWidget &)
| 移动部件至容器右端。 更多...
YF_API void | MoveToTop (IWidget &)
| 移动部件至容器上端。 更多...
const ZOrder | DefaultZOrder (64)
| 默认 Z 顺序值。 更多...
const ZOrder | DefaultWindowZOrder (128)
| 默认窗口 Z 顺序值。 更多...
YF_API bool | RemoveFrom (IWidget &, IWidget &)
| 从容器中移除部件。 更多...
template<class _tCon >
void | AddWidget (_tCon &con, IWidget &wgt)
| 向部件添加单一子部件。 更多...
template<class _tCon >
void | AddWidget (_tCon &con, IWidget &wgt, ZOrder z)
| 向部件添加指定 Z 顺序的单一子部件。 更多...
template<class _tCon , class... _tWidgets>
void | AddWidgets (_tCon &con, _tWidgets &... wgts)
| 向部件容器添加子部件。 更多...
template<class _tCon , class... _tWidgets>
void | AddWidgetsZ (_tCon &con, ZOrder z, _tWidgets &... wgts)
| 向部件容器添加指定 Z 顺序的子部件。 更多...
template<class _tCon , class... _tWidgets>
void | RemoveWidgets (_tCon &con, _tWidgets &... wgts)
| 从部件容器移除子部件。 更多...
const IWidget &wgt | ImplRet (wgt.GetView().IsVisible()) YB_ATTR_nodiscard YB_PURE bool YF_API Contains(const IWidget &
| 判断点是否在部件的可视区域内。 更多...
YB_ATTR_nodiscard YB_PURE | PDefH (bool, Contains, const IWidget &wgt, const Point &pt) ImplRet(Contains(wgt
| 判断点是否在部件的可视区域内。 更多...
YB_ATTR_nodiscard YB_PURE pt pt Y YB_ATTR_nodiscard YB_PURE bool YF_API | ContainsVisible (const IWidget &wgt, SPos x, SPos y)
| 判断点是否在可见部件的可视区域内。 更多...
YB_ATTR_nodiscard YB_PURE | PDefH (bool, ContainsVisible, const IWidget &wgt, const Point &pt) ImplRet(ContainsVisible(wgt
| 判断点是否在可见部件的可视区域内。 更多...
YB_ATTR_nodiscard YB_PURE pt pt Y YB_ATTR_nodiscard YB_PURE | PDefH (observer_ptr< IWidget >, FetchContainerPtr, const IWidget &wgt) ImplRet(wgt.GetView().ContainerPtr) YB_ATTR_nodiscard YB_PURE inline PDefH(observer_ptr< IWidget >
| 取部件的容器指针。 更多...
YB_ATTR_nodiscard YB_PURE pt pt Y YB_ATTR_nodiscard YB_PURE const IWidget &wgt | ImplRet (wgt.GetView().FocusingPtr) YB_ATTR_nodiscard YB_PURE inline PDefH(Point
| 取部件位置。 更多...
YB_ATTR_nodiscard YB_PURE pt pt Y YB_ATTR_nodiscard YB_PURE const IWidget &wgt const IWidget &wgt | ImplRet (wgt.GetView().GetLocation()) YB_ATTR_nodiscard YB_PURE inline PDefH(Size
| 取部件大小。 更多...
YB_ATTR_nodiscard YB_PURE pt pt Y YB_ATTR_nodiscard YB_PURE const IWidget &wgt const IWidget &wgt const IWidget &wgt | ImplRet (wgt.GetView().GetSize()) YB_ATTR_nodiscard YB_PURE inline PDefH(Rect
| 取部件边界。 更多...
YB_ATTR_nodiscard YB_PURE pt pt Y YB_ATTR_nodiscard YB_PURE const IWidget &wgt const IWidget &wgt const IWidget &wgt const IWidget &wgt | ImplRet (wgt.GetView().GetBounds()) YF_API void SetBoundsOf(IWidget &
| 设置部件边界。 更多...
YB_ATTR_nodiscard YB_PURE pt pt Y YB_ATTR_nodiscard YB_PURE const IWidget &wgt const IWidget &wgt const IWidget &wgt const IWidget &wgt const Rect & | PDefH (void, SetContainerPtrOf, IWidget &wgt, observer_ptr< IWidget > p_con={}) ImplExpr(wgt.GetView().ContainerPtr
| 设置部件的容器指针。 更多...
YF_API void | SetInvalidationToParent (IWidget &)
| 在容器设置部件的无效区域。 更多...
YF_API void | SetLocationOf (IWidget &, const Point &)
| 设置部件左上角所在位置（相对容器的偏移坐标）。 更多...
YF_API void | SetSizeOf (IWidget &, const Size &)
| 设置部件大小。 更多...
| PDefH (void, SetVisibleOf, IWidget &wgt, bool b) ImplExpr(wgt.GetView().SetVisible(b)) YF_API void Close(IWidget &)
| 设置部件可见性。 更多...
YF_API void | Hide (IWidget &)
| 隐藏部件。 更多...
YF_API void | Invalidate (IWidget &, const Rect &)
| 无效化：使相对部件的指定区域在直接和间接的窗口缓冲区中无效。 更多...
| PDefH (void, Invalidate, IWidget &wgt) ImplExpr(Invalidate(wgt
| 无效化：使部件区域在直接和间接的窗口缓冲区中无效。 更多...
| GetSizeOf (wgt))) YF_API void InvalidateAll(IWidget &
| 无效化：使相对部件及子部件的指定区域在直接和间接的窗口缓冲区中无效。 更多...
const Rect & | PDefH (void, InvalidateAll, IWidget &wgt) ImplExpr(InvalidateAll(wgt
| 无效化：使部件及子部件区域在直接和间接的窗口缓冲区中无效。 更多...
const Rect const Rect & | PDefH (void, InvalidateChildren, IWidget &wgt) ImplExpr(InvalidateChildren(wgt
| 无效化：使部件的子部件区域在直接和间接的窗口缓冲区中无效。 更多...
YF_API void | InvalidateVisible (IWidget &, const Rect &)
| 无效化：使相对可见的部件的指定区域在直接和间接的窗口缓冲区中无效。 更多...
| PDefH (void, InvalidateVisible, IWidget &wgt) ImplExpr(InvalidateVisible(wgt
| 无效化：使可见的部件区域在直接和间接的窗口缓冲区中无效。 更多...
YF_API void | PaintChild (IWidget &wgt, PaintEventArgs &&e)
| 调用指定子部件的 Paint 事件绘制参数指定的事件发送者。 更多...
YF_API Rect | PaintChild (IWidget &wgt, const PaintContext &pc)
| 调用指定子部件的 Paint 事件绘制指定子部件。 更多...
YF_API void | PaintChildAndCommit (IWidget &, PaintEventArgs &)
| 调用 PaintChild 指定子部件并提交参数的重绘区域。 更多...
void | PaintVisibleChildAndCommit (IWidget &wgt, PaintEventArgs &e) ImplExpr(IsVisible(wgt) ? PaintChildAndCommit(wgt
| 调用可见的 PaintChild 指定子部件并提交参数的重绘区域。 更多...
YF_API void | Show (IWidget &)
| 显示部件。 更多...
template<class _tRenderer , typename... _tParams>
YB_ATTR_nodiscard _tRenderer & | WrapRenderer (Widget &wgt, _tParams &&... args)
template<class... _tWidgets>
void | InvalidateWidgets (_tWidgets &... wgts)
| 向无效化部件。 更多...
yconstexpr const EventPriority | BackgroundPriority (0xC0)
| 用户界面绘制优先级。 更多...
yconstexpr const EventPriority | BoundaryPriority (0x60)
yconstexpr const EventPriority | ForegroundPriority (0x40)
template<class _tEventHandler >
size_t | DoEvent (AController &controller, VisualEvent id, ystdex::parameter_of_t< 0, typename _tEventHandler::FuncType > &&e)
| 调用指定控制器和索引的事件。 更多...
template<VisualEvent _vID>
EventItem | NewEvent ()
| 构造指针指向的 VisualEvent 指定的事件对象。 更多...
YB_ATTR_nodiscard YF_API YB_PURE EventRef | GetMappedEvent (VisualEventMap &, VisualEvent, EventItem(&)())
| 在事件映射表中取指定索引对应的事件。 更多...
template<VisualEvent _vID>
YB_ATTR_nodiscard EventOf< _vID > & | FetchEvent (VisualEventMap &m)
| 取控件事件。 更多...
template<VisualEvent _vID>
YB_ATTR_nodiscard EventOf< _vID > & | FetchEvent (AController &controller)
| 取部件事件。 更多...
YF_API void | SwapSizeOf (AView &, Size &)
| 交换指定视图的大小。 更多...
| ImplDeDtor (Thumb) void DecorateAsCloseButton(Thumb &tmb)
| ImplDeDtor (ListBox) void ListBox
| ImplDeDtor (FileBox) IO
void | Activate (Console &, Drawing::Color, Drawing::Color)
void | Deactivate (Console &)
unique_ptr< Label > | MakeLabel (const String &text, const Rect &r, const Font &fnt, const Padding &m)
void | ResizeForContent (TextList &tl)
| ImplDeDtor (WidgetNotFound) IWidget &AccessWidget(const ValueNode &node)
| ImplDeDtor (Menu) void Menu
void | LocateMenu (Menu &dst, const Menu &src, Menu::IndexType idx)
| ImplDeDtor (ScrollEventArgs) namespace
| ImplDeDtor (HorizontalTrack) VerticalTrack
| ImplDeDtor (VerticalTrack) ScrollBar
| ImplDeDtor (ScrollableContainer) Size ScrollableContainer
| ImplDeDtor (TabControl) void TabControl
| ImplDeDtor (TextArea) BufferedTextArea
| ImplDeDtor (TreeList) String TreeList
| ImplDeDtor (DialogBox) DialogPanel
bool | Enable (IWidget &wgt, bool b)
| ImplDeDtor (Control) void Control
| ImplDeDtor (Desktop) void Desktop
| ImplDeDtor (InputTimer) size_t InputTimer
GUIState & | FetchGUIState () ynothrow
GUIConfiguration & | FetchGUIConfiguration ()
| ImplDeDtor (PseudoRenderer) BufferedRenderer
Point | LocateOffset (observer_ptr< const IWidget > p_end, Point pt, observer_ptr< const IWidget > p_wgt)
| 取相对第三参数指向的部件的点相对第一参数指向的容器的偏移坐标。 更多...
Point | LocateForTopOffset (const Point &origin, IWidget &wgt, const Point &pt)
Point | LocateForTrace (const vector< pair< observer_ptr< const IWidget >, Point >> &lst, const IWidget &wgt)
| ImplDeDtor (IWidget) bool Contains(const IWidget &wgt
void | SetBoundsOf (IWidget &wgt, const Rect &r)
void | SetInvalidationOf (IWidget &wgt)
void | Close (IWidget &wgt)
void | InvalidateAll (IWidget &wgt, const Rect &bounds)
void | InvalidateChildren (IWidget &wgt, const Rect &bounds)
void | InvalidateParent (IWidget &wgt)
void | InvalidateVisibleParent (IWidget &wgt)
void | RequestToFront (IWidget &wgt)
| ImplDeDtor (UIEventArgs) ImplDeDtor(RoutedEventArgs) InputEventArgs
| ImplDeDtor (InputEventArgs) KeyEventArgs
| ImplDeDtor (KeyEventArgs) CursorEventArgs
| ImplDeDtor (CursorEventArgs) CursorWheelEventArgs
| ImplDeDtor (CursorWheelEventArgs) TextInputEventArgs
| ImplDeDtor (TextInputEventArgs) PaintEventArgs
| ImplDeDtor (PaintEventArgs) ImplDeDtor(BadEvent) ImplDeDtor(UIEventSignal) ImplDeDtor(AController) WidgetController
| ImplDeDtor (ViewSignal) ImplDeDtor(AView) void swap(AView &x
void | SwapLocationOf (AView &v, Point &pt)
| ImplDeDtor (ColorBox) Color &ColorBox

## 变量

| fc
yconstfn const string & | name
yconstfn const string _tParams && | args
| SetEnabledOf
IWidget & | wgt
IWidget bool b | bool = true)
| IsVisible
const IWidget &wgt | SPos
YB_ATTR_nodiscard YB_PURE pt | X
YB_ATTR_nodiscard YB_PURE pt pt Y YB_ATTR_nodiscard YB_PURE | FetchFocusingPtr
YB_ATTR_nodiscard YB_PURE pt pt Y YB_ATTR_nodiscard YB_PURE const IWidget &wgt | GetLocationOf
YB_ATTR_nodiscard YB_PURE pt pt Y YB_ATTR_nodiscard YB_PURE const IWidget &wgt const IWidget &wgt | GetSizeOf
| 无效化：使相对部件的子部件的指定区域在直接和间接的窗口缓冲区中无效。 更多...
YB_ATTR_nodiscard YB_PURE pt pt Y YB_ATTR_nodiscard YB_PURE const IWidget &wgt const IWidget &wgt const IWidget &wgt | GetBoundsOf
void | e
SPos | x
SPos SPos | y
AView &y | ynothrow

## 详细描述

自从
  build 388

## 类型定义说明

## ◆ EventItem

using YSLib::UI::EventItem = typedef ValueObject

事件映射项类型。

自从
  build 850

在文件 YWidgetEvent.h 第 505 行定义.

## ◆ EventOf

template<VisualEvent _vID>

using YSLib::UI::EventOf = typedef GEvent<typename HandlerOf<_vID>::FuncType>

取索引指定的事件类型。

在文件 YWidgetEvent.h 第 497 行定义.

## ◆ Form

using YSLib::UI::Form = typedef Window

在文件 Form.h 第 40 行定义.

## ◆ GWidgetCreator

template<typename... _tParams>

using YSLib::UI::GWidgetCreator = typedef unique_ptr<IWidget>(*)(_tParams...)

自从
  build 494

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

## ◆ GWidgetInserter

template<typename... _tParams>

using YSLib::UI::GWidgetInserter = typedef void(*)(IWidget&, _tParams...)

自从
  build 496

在文件 Loader.h 第 169 行定义.

## ◆ HandlerOf

template<VisualEvent _vID>

using YSLib::UI::HandlerOf = typedef typename EventTypeMapping<_vID>::HandlerType

取索引指定的事件处理器类型。

自从
  build 850

在文件 YWidgetEvent.h 第 493 行定义.

## ◆ HBrush

using YSLib::UI::HBrush = typedef ystdex::optional_function<void(PaintEventArgs&&)>

画刷回调函数。

自从
  build 293

在文件 YComponent.h 第 81 行定义.

## ◆ HCursorEvent

using YSLib::UI::HCursorEvent = typedef GHEvent<void(CursorEventArgs&&)>

自从
  build 422

在文件 YWidgetEvent.h 第 350 行定义.

## ◆ HCursorWheelEvent

using YSLib::UI::HCursorWheelEvent = typedef GHEvent<void(CursorWheelEventArgs&&)>

指针设备滚轮事件。

自从
  build 425

在文件 YWidgetEvent.h 第 356 行定义.

## ◆ HInputEvent

using YSLib::UI::HInputEvent = typedef GHEvent<void(InputEventArgs&&)>

在文件 YWidgetEvent.h 第 347 行定义.

## ◆ HKeyEvent

using YSLib::UI::HKeyEvent = typedef GHEvent<void(KeyEventArgs&&)>

在文件 YWidgetEvent.h 第 348 行定义.

## ◆ HPaintEvent

using YSLib::UI::HPaintEvent = typedef GHEvent<void(PaintEventArgs&&)>

在文件 YWidgetEvent.h 第 351 行定义.

## ◆ HTextInputEvent

using YSLib::UI::HTextInputEvent = typedef GHEvent<void(TextInputEventArgs&&)>

文本输入事件。

自从
  build 482

在文件 YWidgetEvent.h 第 361 行定义.

## ◆ HUIEvent

using YSLib::UI::HUIEvent = typedef GHEvent<void(UIEventArgs&&)>

在文件 YWidgetEvent.h 第 346 行定义.

## ◆ IndexEventArgs

using YSLib::UI::IndexEventArgs = typedef GValueEventArgs<size_t>

索引事件。

自从
  build 268

在文件 ListControl.h 第 47 行定义.

## ◆ VisualEventMap

using YSLib::UI::VisualEventMap = typedef map<VisualEvent, EventItem>

映射表类型。

在文件 YWidgetEvent.h 第 550 行定义.

## ◆ WheelDelta

using YSLib::UI::WheelDelta = typedef ptrdiff_t

滚轮度量：以角度计量的转动滚轮的幅度。

自从
  build 423

在文件 YWidgetEvent.h 第 249 行定义.

## ◆ WidgetIterator

using YSLib::UI::WidgetIterator = typedef ystdex::any_input_iterator<IWidget>

通用部件迭代器。

自从
  build 356

在文件 YWidget.h 第 52 行定义.

## ◆ WidgetRange

using YSLib::UI::WidgetRange = typedef pair<WidgetIterator, WidgetIterator>

两个部件迭代器组成的左闭右开区间确定的迭代器范围。

自从
  build 357

在文件 YWidget.h 第 57 行定义.

## ◆ ZOrder

using YSLib::UI::ZOrder = typedef std::uint8_t

Z 顺序类型：覆盖顺序，值越大表示越接近顶层。

自从
  build 555

在文件 YUIContainer.h 第 179 行定义.

## 枚举类型说明

## ◆ BorderArea

enum YSLib::UI::BorderArea : std::uint8_t

strong

边框区域。

自从
  build 444

枚举值
Left |
Up |
Center |
Right |
Down |

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

## ◆ CursorState

enum YSLib::UI::CursorState

strong

指针设备光标相对控件的状态。

自从
  build 463

枚举值
Outside |
Over |
Pressed |

在文件 YControl.h 第 339 行定义.

## ◆ ScrollCategory

enum YSLib::UI::ScrollCategory

strong

滚动类别。

自从
  build 261

枚举值
SmallDecrement | 滚动框小距离减量移动。
SmallIncrement | 滚动框小距离增量移动。
LargeDecrement | 滚动框大距离减量移动。
LargeIncrement | 滚动框大距离增量移动。
ThumbPosition | 滚动框定位（通过直接设置位置）。
ThumbTrack | 滚动框当前正在移动。
First | 滚动框移动至最小位置。
Last | 滚动框移动至最大位置。
EndScroll | 滚动框移动停止。

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

## ◆ TextAlignment

enum YSLib::UI::TextAlignment

strong

枚举值
Left |
Up |
Center |
Right |
Down |

在文件 Label.h 第 45 行定义.

## ◆ VisualEvent

enum YSLib::UI::VisualEvent : size_t

标准控件事件空间。

自从
  build 416

枚举值
Move | 移动：位置调整。
Resize | 大小调整。

KeyUp

键接触结束。

注解
  GUI 输入事件。

KeyDown | 键接触开始。
KeyHeld | 键接触保持。
KeyPress | 键按下。
TouchUp | 屏幕接触结束。
TouchDown | 屏幕接触开始。
TouchHeld | 屏幕接触保持。
Click | 屏幕点击。

ClickAcross

屏幕点击在不同部件上。

自从
  build 433

CursorOver

指针设备光标悬停。

自从
  build 422

CursorWheel

指针设备滚轮输入。

自从
  build 423

TextInput

文本输入。

自从
  build 482

Paint

界面绘制。

注解
  GUI 输出事件。

GotFocus

焦点获得。

注解
  焦点事件。

LostFocus | 焦点失去。
Enter | 控件进入。
Leave | 控件离开。

MaxEvent

事件边界。

自从
  build 580

仅用于标识枚举中的最大项，不作为实际的事件使用。

在文件 YWidgetEvent.h 第 376 行定义.

## 函数说明

## ◆ AccessWidget() [1/2]

template<class _tWidget , typename... _tParams>

_tWidget& YSLib::UI::AccessWidget | ( | ValueNode & | node,
|  | _tParams &&... | args
| ) |  |

异常

  std::bad_cast | 不存在指定类型的部件。

在文件 Loader.h 第 155 行定义.

引用了 AccessWidget(), args , 以及 yforward.

函数调用图:

## ◆ AccessWidget() [2/2]

template<typename... _tParams>

IWidget& YSLib::UI::AccessWidget | ( | ValueNode & | node,
|  | const string & | name,
|  | _tParams &&... | args
| ) |  |

在文件 Loader.h 第 148 行定义.

引用了 args, name , 以及 yforward.

被这些函数引用 AccessWidget().

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

## ◆ ActAfter()

void YSLib::UI::ActAfter | ( | IWidget & | wgt,
|  | Timers::TimeSpan | delay
| ) |  |

在一定时间后对部件进行操作。

自从
  build 584

在文件 Animation.cpp 第 63 行定义.

引用了 platform::Descriptions::Debug, Hide(), ystdex::make_shared(), SetupByTimer(), wgt , 以及 YTraceDe.

函数调用图:

## ◆ Activate()

void YSLib::UI::Activate | ( | Console & | ,
|  | Drawing::Color | ,
|  | Drawing::Color |
| ) |  |

自从
  build 494

在文件 Console.cpp 第 45 行定义.

被这些函数引用 YSLib::UI::Console::Console().

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

## ◆ ActOnHover()

template<typename _func , typename... _tParams>

void YSLib::UI::ActOnHover | ( | IWidget & | wgt,
|  | _func | f,
|  | _tParams &&... | args
| ) |  |

设置悬停动作。

自从
  build 583

在文件 Hover.h 第 69 行定义.

引用了 args, CHRLib::f(), FetchGUIState(), NPL::get, ystdex::invoke(), wgt , 以及 yforward.

被这些函数引用 SetRendererOnHover().

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

## ◆ AddWidget() [1/2]

template<class _tCon >

void YSLib::UI::AddWidget | ( | _tCon & | con,
|  | IWidget & | wgt
| ) |  |

inline

向部件添加单一子部件。

自从
  build 496

在文件 YUIContainer.h 第 423 行定义.

引用了 wgt.

被这些函数引用 InsertWidget().

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

## ◆ AddWidget() [2/2]

template<class _tCon >

void YSLib::UI::AddWidget | ( | _tCon & | con,
|  | IWidget & | wgt,
|  | ZOrder | z
| ) |  |

inline

向部件添加指定 Z 顺序的单一子部件。

自从
  build 555

在文件 YUIContainer.h 第 434 行定义.

引用了 wgt.

## ◆ AddWidgets()

template<class _tCon , class... _tWidgets>

void YSLib::UI::AddWidgets | ( | _tCon & | con,
|  | _tWidgets &... | wgts
| ) |  |

inline

向部件容器添加子部件。

注解
  不保证顺序。

自从
  build 303

在文件 YUIContainer.h 第 446 行定义.

引用了 ystdex::ref() , 以及 ystdex::unseq_apply().

被这些函数引用 ImplDeDtor(), main() , 以及 YReader::ShlTextReader::SettingSession::SettingSession().

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

## ◆ AddWidgetsZ()

template<class _tCon , class... _tWidgets>

void YSLib::UI::AddWidgetsZ | ( | _tCon & | con,
|  | ZOrder | z,
|  | _tWidgets &... | wgts
| ) |  |

inline

向部件容器添加指定 Z 顺序的子部件。

注解
  不保证顺序。

自从
  build 555

在文件 YUIContainer.h 第 460 行定义.

引用了 ystdex::ref() , 以及 ystdex::unseq_apply().

函数调用图:

## ◆ Animate()

template<typename _fUpdater >

void YSLib::UI::Animate | ( | _fUpdater | f,
|  | Messaging::Priority | prior = `UI::AnimationPriority`
| ) |  |

按指定的可调用对象初始化为连接对象更新动画任务。

自从
  build 494

在文件 Animation.h 第 77 行定义.

引用了 AnimateConnection(), CHRLib::f() , 以及 ystdex::share_copy().

函数调用图:

## ◆ AnimateConnection()

template<typename _fUpdater >

void YSLib::UI::AnimateConnection | ( | const shared_ptr< _fUpdater > & | conn,
|  | Messaging::Priority | prior = `UI::AnimationPriority`
| ) |  |

按指定的连接对象更新动画任务。

在文件 Animation.h 第 62 行定义.

引用了 AnimateTask() , 以及 YAssertNonnull.

被这些函数引用 Animate().

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

## ◆ AnimateTask()

template<typename _fUpdater >

void YSLib::UI::AnimateTask | ( | _fUpdater | update,
|  | Messaging::Priority | prior = `UI::AnimationPriority`
| ) |  |

按更新条件和优先级通过消息队列部署动画任务。

自从
  build 455

在文件 Animation.h 第 54 行定义.

引用了 YSLib::Messaging::Renew().

被这些函数引用 AnimateConnection().

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

## ◆ AnimationPriority()

yconstexpr const Messaging::Priority YSLib::UI::AnimationPriority | ( | 0x20 |  | ) |

默认背景动画任务消息优先级。

自从
  build 450

## ◆ BackgroundPriority()

yconstexpr const EventPriority YSLib::UI::BackgroundPriority | ( | 0xC0 |  | ) |

用户界面绘制优先级。

自从
  build 294

被这些函数引用 YSLib::UI::DialogBox::DialogBox(), ImplDeDtor(), YSLib::UI::Widget::InitializeEvents(), YSLib::UI::Menu::Menu(), YSLib::UI::TextList::TextList() , 以及 YSLib::UI::TreeList::TreeList().

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

## ◆ BindTopLevelPopupMenu()

void YSLib::UI::BindTopLevelPopupMenu | ( | MenuHost & | mh,
|  | Menu & | mnu,
|  | IWidget & | wgt,
|  | KeyIndex | k = `KeyCodes::Secondary`
| ) |  |

绑定顶层部件的按键事件弹出菜单。

注解
  只接受一个按键。

自从
  build 575

在文件 Menu.cpp 第 378 行定义.

引用了 YSLib::UI::RoutedEventArgs::Direct, e, YSLib::UI::Widget::GetView(), LocateForTopOffset(), YSLib::UI::MenuHost::Show , 以及 wgt.

函数调用图:

## ◆ BoundaryPriority()

yconstexpr const EventPriority YSLib::UI::BoundaryPriority | ( | 0x60 |  | ) |

被这些函数引用 YSLib::UI::ProgressBar::ProgressBar() , 以及 YSLib::UI::TextList::TextList().

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

## ◆ CallEvent()

template<VisualEvent _vID, typename _tEventArgs >

size_t YSLib::UI::CallEvent | ( | IWidget & | wgt,
|  | _tEventArgs && | e
| ) |  |

inline

调用部件事件，并忽略 BadEvent 异常。

前置条件
  事件参数需可转换为 EventTypeMapping 的 EventType 。

注解
  若控件事件不存在则忽略。

在文件 YControl.h 第 149 行定义.

引用了 CatchIgnore, DoEvent(), e, TryRet , 以及 wgt.

函数调用图:

## ◆ CallInputEvent()

void YSLib::UI::CallInputEvent | ( | IWidget & | wgt,
|  | const String & | str,
|  | const KeyInput & | k
| ) |  |

调用指定部件的 TextInput 事件处理指定的输入。

返回
  是否已处理输入的字符。

自从
  build 510

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

引用了 YSLib::str , 以及 wgt.

被这些函数引用 YSLib::Devices::InputManager::DispatchInput().

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

## ◆ ClearFocusingOf()

void YSLib::UI::ClearFocusingOf | ( | IWidget & | wgt | ) |

清除焦点指针并以此部件作为事件源调用被清除焦点部件的 LostFocus 事件。

注解
  若焦点指针已为空则忽略。

自从
  build 258

在文件 YFocus.cpp 第 111 行定义.

引用了 FetchFocusingPtr, platform::p , 以及 wgt.

被这些函数引用 YSLib::UI::Panel::ClearContents(), Close() , 以及 OnTouchDown_RequestToFrontFocused().

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

## ◆ Close()

void YSLib::UI::Close | ( | IWidget & | wgt | ) |

在文件 YWidget.cpp 第 92 行定义.

引用了 ClearFocusingOf(), Hide() , 以及 wgt.

被这些函数引用 ImplDeDtor(), YReader::ShlTextReader::OnClick(), YSLib::Drawing::ImageMetadataFindData::Read(), YSLib::Drawing::ImageMetadataFindData::Rewind() , 以及 YSLib::Drawing::ImageMetadataFindData::~ImageMetadataFindData().

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

## ◆ ContainsVisible()

bool YSLib::UI::ContainsVisible | ( | const IWidget & | wgt,
|  | SPos | x,
|  | SPos | y
| ) |  |

判断点是否在可见部件的可视区域内。

自从
  build 173

在文件 YWidget.cpp 第 49 行定义.

引用了 IsVisible, wgt, x , 以及 y.

## ◆ CreateUniqueWidget()

template<typename _tWidget , typename... _tParams>

static unique_ptr<IWidget> YSLib::UI::CreateUniqueWidget | ( | _tParams &&... | args | ) |

static

注册部件加载器：创建部件。

自从
  build 433

待办事项:
  使用 ISO C++14 多态 lambda 表达式代替。

在文件 Loader.h 第 54 行定义.

引用了 args , 以及 yforward.

被这些函数引用 YSLib::UI::GWidgetRegister< const YSLib::Drawing::Rect & >::GetRegister().

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

## ◆ Deactivate()

void YSLib::UI::Deactivate | ( | Console & |  | ) |

在文件 Console.cpp 第 50 行定义.

被这些函数引用 YSLib::UI::Console::~Console().

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

## ◆ DefaultMenuZOrder()

yconstexpr const ZOrder YSLib::UI::DefaultMenuZOrder | ( | 224 |  | ) |

默认菜单 Z 顺序值。

自从
  build 555

## ◆ DefaultWindowZOrder()

const ZOrder YSLib::UI::DefaultWindowZOrder | ( | 128 |  | ) |

默认窗口 Z 顺序值。

被这些函数引用 YSLib::UI::Window::operator+=().

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

## ◆ DefaultZOrder()

const ZOrder YSLib::UI::DefaultZOrder | ( | 64 |  | ) |

默认 Z 顺序值。

被这些函数引用 YSLib::UI::WidgetLoader::TransformUILayout().

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

## ◆ DoEvent()

template<class _tEventHandler >

size_t YSLib::UI::DoEvent | ( | AController & | controller,
|  | VisualEvent | id,
|  | ystdex::parameter_of_t< 0, typename _tEventHandler::FuncType > && | e
| ) |  |

调用指定控制器和索引的事件。

注解
  std::out_of_range 和 std::bad_cast 异常。

自从
  build 850

在文件 YWidgetEvent.h 第 666 行定义.

引用了 CatchIgnore, e , 以及 TryRet.

被这些函数引用 CallEvent().

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

## ◆ DoReleaseFocus()

bool YSLib::UI::DoReleaseFocus | ( | IWidget & | wgt | ) |

释放焦点：验证并清空容器部件的焦点指针。

返回
  是否成功释放了焦点。

自从
  build 315

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

引用了 platform::p , 以及 wgt.

被这些函数引用 ReleaseFocusFrom().

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

## ◆ DoRequestFocus()

bool YSLib::UI::DoRequestFocus | ( | IWidget & | wgt,
|  | bool | release_event = `{}`
| ) |  |

向部件容器请求获得焦点，并指定 GotFocus 事件发送控件。

参数

  release_event | 是否在需要释放已有焦点时触发事件。

返回
  是否成功改变了焦点。

注解
  若部件没有父部件或父部件的焦点指针已经指向部件则忽略并返回失败。

自从
  build 315

在文件 YFocus.cpp 第 46 行定义.

引用了 IsFocused(), ystdex::make_observer(), platform::p, ReleaseFocusFrom(), wgt , 以及 YSLib::YAssert().

被这些函数引用 RequestFocusFrom().

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

## ◆ DrawTrackBackground()

void YSLib::UI::DrawTrackBackground | ( | PaintEventArgs && | e,
|  | ATrack & | trk
| ) |  |

绘制指定色调的基本按钮背景。

自从
  build 359

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

引用了 YSLib::Drawing::bounds, CHRLib::c, e, FetchGUIConfiguration(), YSLib::Drawing::FillRect(), YSLib::Drawing::g, GetSizeOf, YSLib::UI::Styles::Light, YSLib::RestrictInInterval(), SPos, YSLib::UI::Styles::Track, x, YSLib::Drawing::GBinaryGroup< _type >::X, y , 以及 YSLib::Drawing::GBinaryGroup< _type >::Y.

函数调用图:

## ◆ empty()

!sv YSLib::UI::empty | ( |  | ) | &&

引用了 DefDeCopyCtor, YSLib::lv, name, platform::Nonnull(), CHRLib::s, platform::Descriptions::Warning, YSLib::YB_NONNULL() , 以及 yunused.

被这些函数引用 YSLib::UI::TreeList::QueryNodeState(), YSLib::UI::TextList::Refresh() , 以及 YSLib::UI::TreeList::TreeList().

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

## ◆ Enable()

bool YSLib::UI::Enable | ( | IWidget & | wgt,
|  | bool | b
| ) |  |

在文件 YControl.cpp 第 91 行定义.

引用了 Invalidate(), SetEnabledOf , 以及 wgt.

被这些函数引用 YReader::ShlTextReader::UpdateButtons().

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

## ◆ FetchGUIConfiguration()

GUIConfiguration& YSLib::UI::FetchGUIConfiguration | ( |  | ) |

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

被这些函数引用 YSLib::UI::TabBar::DefaultPaintTabBorder(), DrawTrackBackground(), YSLib::UI::Styles::FetchDefault(), FetchVisualStyleNames(), ImplDeDtor(), YSLib::UI::Styles::InitExStyles(), main(), YSLib::UI::Menu::Menu(), YSLib::UI::Styles::Painter::operator()(), YSLib::UI::ProgressBar::ProgressBar(), YSLib::UI::Button::Refresh(), YSLib::UI::CheckBox::Refresh() , 以及 YSLib::UI::RadioBox::Refresh().

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

## ◆ FetchGUIState()

GUIState& YSLib::UI::FetchGUIState | ( |  | ) |

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

被这些函数引用 ActOnHover(), YSLib::UI::Caret::Caret(), YSLib::UI::Caret::Check(), YSLib::UI::TextBox::ExportCaretLocation(), YSLib::Shells::GUIShell::GUIShell(), YSLib::UI::HorizontalTrack::HorizontalTrack(), ImplDeDtor(), YSLib::UI::AMUnitControlList::MakeIterator(), YSLib::UI::Menu::Menu(), YReader::ShlTextReader::OnKeyDown(), OnKeyHeld(), OnTouchHeld(), YSLib::UI::Caret::Stop(), YSLib::UI::TextList::TextList(), YSLib::UI::TreeList::TreeList() , 以及 YSLib::UI::BorderResizer::Wrap().

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

## ◆ FetchTopLevel() [1/2]

IWidget & YSLib::UI::FetchTopLevel | ( | IWidget & | wgt | ) |

取指定部件的顶层部件。

返回
  若无父部件则为参数自身，否则为视图树中的父部件指针为空指针的部件的引用。

自从
  build 282

在文件 YUIContainer.cpp 第 41 行定义.

引用了 platform::p, ystdex::ref() , 以及 wgt.

被这些函数引用 LocateForTopOffset().

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

## ◆ FetchTopLevel() [2/2]

IWidget & YSLib::UI::FetchTopLevel | ( | IWidget & | wgt,
|  | Point & | pt
| ) |  |

取指定部件的顶层部件，当返回非第一参数时变换坐标。

返回
  若无父部件则为第一参数，否则为视图树中的父部件指针为空指针的部件的引用。

注解
  原始坐标相对指定部件，会被转换为相对最终节点的坐标。

自从
  build 282

在文件 YUIContainer.cpp 第 50 行定义.

引用了 GetLocationOf, platform::p, ystdex::ref() , 以及 wgt.

函数调用图:

## ◆ FetchTrace()

vector< pair< observer_ptr< const IWidget >, Point > > YSLib::UI::FetchTrace | ( | const IWidget & | wgt | ) |

取指定部件向上遍历的轨迹：相对自身和所有父部件的位置。

返回
  部件视图树向上遍历的指针和对应相对其指向的部件相对位置序列。

自从
  build 672

在文件 YUIContainer.cpp 第 63 行定义.

引用了 GetLocationOf, ystdex::make_observer() , 以及 wgt.

函数调用图:

## ◆ FetchVisualStyleNames()

shared_ptr< TextList::ListType > YSLib::UI::FetchVisualStyleNames | ( | String | default_name = `u"<Default>"` | ) |

取视觉样式名称。

后置条件
  结果是指向非空列表的非空指针。

注解
  使用参数替换默认名称的空串。

自从
  build 469

在文件 ShellHelper.cpp 第 161 行定义.

引用了 FetchGUIConfiguration(), ystdex::get_key , 以及 YSLib::YAssert().

函数调用图:

## ◆ ForegroundPriority()

yconstexpr const EventPriority YSLib::UI::ForegroundPriority | ( | 0x40 |  | ) |

## ◆ FwdDeclI()

YSLib::UI::FwdDeclI | ( | IWidget |  | ) |

自从
  build 293

## ◆ GetMappedEvent()

EventRef YSLib::UI::GetMappedEvent | ( | VisualEventMap & | m,
|  | VisualEvent | id,
|  | EventItem(&)() | f
| ) |  |

在事件映射表中取指定索引对应的事件。

自从
  build 850

在文件 YWidgetEvent.cpp 第 119 行定义.

引用了 ystdex::emplace_hint_in_place(), CHRLib::f(), YSLib::i , 以及 ystdex::search_map_by().

被这些函数引用 FetchEvent().

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

## ◆ GetSizeOf()

YSLib::UI::GetSizeOf | ( | wgt |  | ) | &

无效化：使相对部件及子部件的指定区域在直接和间接的窗口缓冲区中无效。

无效化可见的部件区域对应位置的父容器区域。

无效化部件区域对应位置的父容器区域。

无效化：使相对部件的子部件的指定区域在直接和间接的窗口缓冲区中无效。

自从
  build 473

注解
  若不存在父容器则忽略。

参见
  UI::Invalidate

自从
  build 433

注解
  若不存在可见的父容器则忽略。

参见
  UI::InvalidateParent
  UI::InvalidateVisible

## ◆ Hide()

void YSLib::UI::Hide | ( | IWidget & | wgt | ) |

隐藏部件。

自从
  build 229 依次释放部件焦点、设置部件不可见性和无效化。

在文件 YWidget.cpp 第 100 行定义.

引用了 Invalidate() , 以及 wgt.

被这些函数引用 ActAfter(), YReader::ShlTextReader::BaseSession::BaseSession(), Close() , 以及 YSLib::UI::MenuHost::HideRaw().

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

## ◆ ImplDeDtor() [1/27]

YSLib::UI::ImplDeDtor | ( | ColorBox |  | ) | &

在文件 ColorPicker.cpp 第 68 行定义.

引用了 YSLib::UI::Widget::Background, YSLib::UI::ColorBox::ctlColorArea , 以及 platform::p.

## ◆ ImplDeDtor() [2/27]

YSLib::UI::ImplDeDtor | ( | Control |  | ) |

在文件 YControl.cpp 第 205 行定义.

引用了 Close().

函数调用图:

## ◆ ImplDeDtor() [3/27]

YSLib::UI::ImplDeDtor | ( | CursorEventArgs |  | ) |

在文件 YWidgetEvent.cpp 第 62 行定义.

## ◆ ImplDeDtor() [4/27]

YSLib::UI::ImplDeDtor | ( | CursorWheelEventArgs |  | ) |

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

## ◆ ImplDeDtor() [5/27]

YSLib::UI::ImplDeDtor | ( | Desktop |  | ) |

在文件 YDesktop.cpp 第 62 行定义.

引用了 YSLib::UI::Desktop::screen.

## ◆ ImplDeDtor() [6/27]

YSLib::UI::ImplDeDtor | ( | DialogBox |  | ) |

在文件 UIContainerEx.cpp 第 56 行定义.

引用了 AddWidgets(), BackgroundPriority(), Close(), YSLib::Drawing::DrawCircle(), e, FetchGUIConfiguration(), Invalidate(), YSLib::UI::Styles::Workspace , 以及 yunseq.

函数调用图:

## ◆ ImplDeDtor() [7/27]

YSLib::UI::ImplDeDtor | ( | FileBox |  | ) |

在文件 ComboList.cpp 第 133 行定义.

引用了 YSLib::UI::FileBox::GetPath , 以及 YSLib::UI::FileBox::pthDirectory.

## ◆ ImplDeDtor() [8/27]

YSLib::UI::ImplDeDtor | ( | HorizontalTrack |  | ) |

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

引用了 YSLib::UI::RoutedEventArgs::Direct, e, FetchGUIState(), YSLib::Drawing::GetHeight(), GetLocationOf, Invalidate(), SetLocationOf(), SPos, X, y , 以及 YSLib::YAssert().

函数调用图:

## ◆ ImplDeDtor() [9/27]

YSLib::UI::ImplDeDtor | ( | InputEventArgs |  | ) |

在文件 YWidgetEvent.cpp 第 49 行定义.

## ◆ ImplDeDtor() [10/27]

YSLib::UI::ImplDeDtor | ( | InputTimer |  | ) |

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

引用了 YSLib::Activate, CHRLib::s , 以及 YB_UNLIKELY.

## ◆ ImplDeDtor() [11/27]

YSLib::UI::ImplDeDtor | ( | IWidget |  | ) | const &

## ◆ ImplDeDtor() [12/27]

YSLib::UI::ImplDeDtor | ( | KeyEventArgs |  | ) |

在文件 YWidgetEvent.cpp 第 55 行定义.

## ◆ ImplDeDtor() [13/27]

YSLib::UI::ImplDeDtor | ( | ListBox |  | ) |

在文件 ComboList.cpp 第 97 行定义.

引用了 ystdex::cpp2014::cbegin(), ystdex::cpp2014::cend(), YSLib::Drawing::FetchMaxTextWidth(), YSLib::Drawing::GetHorizontalOf, YSLib::UI::ListBox::GetTextListRef(), YSLib::UI::Widget::Height, YSLib::Drawing::Size::Height, YSLib::UI::ListBox::s, SetSizeOf(), UpdateView(), YSLib::UI::Widget::Width, YSLib::Drawing::Size::Width , 以及 yunseq.

函数调用图:

## ◆ ImplDeDtor() [14/27]

YSLib::UI::ImplDeDtor | ( | Menu |  | ) |

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

引用了 ystdex::map< _tKey, _tMapped, _fComp, _tAlloc >::insert(), YSLib::IsInInterval(), ystdex::make_observer(), YSLib::UI::Menu::mSubMenus , 以及 size.

函数调用图:

## ◆ ImplDeDtor() [15/27]

YSLib::UI::ImplDeDtor | ( | PaintEventArgs |  | ) |

在文件 YWidgetEvent.cpp 第 92 行定义.

## ◆ ImplDeDtor() [16/27]

YSLib::UI::ImplDeDtor | ( | PseudoRenderer |  | ) |

在文件 YRenderer.cpp 第 49 行定义.

## ◆ ImplDeDtor() [17/27]

YSLib::UI::ImplDeDtor | ( | ScrollableContainer |  | ) |

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

引用了 CatchIgnore, YSLib::Drawing::GetHeight(), GetSizeOf, YSLib::UI::ScrollableContainer::hsbHorizontal, MoveToBottom(), MoveToRight(), platform::p, CHRLib::s, SetSizeOf() , 以及 YSLib::UI::ScrollableContainer::vsbVertical.

函数调用图:

## ◆ ImplDeDtor() [18/27]

YSLib::UI::ImplDeDtor | ( | ScrollEventArgs |  | ) |

< 默认最小滚动条宽。

< 默认最小滚动条高。

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

引用了 CHRLib::d , 以及 CHRLib::s.

## ◆ ImplDeDtor() [19/27]

YSLib::UI::ImplDeDtor | ( | TabControl |  | ) |

在文件 TabControl.cpp 第 132 行定义.

引用了 ystdex::make_observer(), YSLib::UI::TabControl::tab_pages , 以及 wgt.

函数调用图:

## ◆ ImplDeDtor() [20/27]

YSLib::UI::ImplDeDtor | ( | TextArea |  | ) |

在文件 TextArea.cpp 第 52 行定义.

引用了 CHRLib::c, Color, YSLib::Drawing::GetHeight() , 以及 YSLib::Drawing::CompactPixmapEx::SetSize().

函数调用图:

## ◆ ImplDeDtor() [21/27]

YSLib::UI::ImplDeDtor | ( | TextInputEventArgs |  | ) |

在文件 YWidgetEvent.cpp 第 79 行定义.

## ◆ ImplDeDtor() [22/27]

YSLib::UI::ImplDeDtor | ( | Thumb |  | ) | &

在文件 Button.cpp 第 125 行定义.

引用了 Close(), YSLib::Drawing::DrawCross(), e, FetchGUIConfiguration(), YSLib::UI::Thumb::ForeColor, YSLib::UI::Styles::Workspace , 以及 yunseq.

函数调用图:

## ◆ ImplDeDtor() [23/27]

YSLib::UI::ImplDeDtor | ( | TreeList |  | ) |

在文件 TreeView.cpp 第 178 行定义.

## ◆ ImplDeDtor() [24/27]

YSLib::UI::ImplDeDtor | ( | UIEventArgs |  | ) |

在文件 YWidgetEvent.cpp 第 39 行定义.

## ◆ ImplDeDtor() [25/27]

YSLib::UI::ImplDeDtor | ( | VerticalTrack |  | ) |

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

引用了 e, GetLocationOf, GetSizeOf, platform::l, ystdex::make_observer(), MoveToBottom(), MoveToRight(), OnKey_Bound_TouchDown(), OnKey_Bound_TouchUp(), OnKeyHeld(), OnTouchHeld(), YSLib::Drawing::RDeg0, YSLib::Drawing::RDeg180, YSLib::Drawing::RDeg270, YSLib::Drawing::RDeg90, CHRLib::s, SetSizeOf(), SmallDecrement, SmallIncrement, YSLib::YAssert() , 以及 yunseq.

函数调用图:

## ◆ ImplDeDtor() [26/27]

YSLib::UI::ImplDeDtor | ( | ViewSignal |  | ) | &

## ◆ ImplDeDtor() [27/27]

YSLib::UI::ImplDeDtor | ( | WidgetNotFound |  | ) | const &

在文件 Loader.cpp 第 64 行定义.

引用了 YSLib::Access(), YSLib::AccessNodePtr(), platform::Deref() , 以及 platform::p.

函数调用图:

## ◆ ImplExpr()

IWidget bool b YSLib::UI::ImplExpr | ( | wgt. | GetController).SetEnabled(b | ) | &

设置部件可用性，且当可用性改变时无效化部件区域。

返回
  可用性是否改变。

自从
  build 286

## ◆ ImplRet() [1/3]

YB_ATTR_nodiscard YB_PURE pt pt Y YB_ATTR_nodiscard YB_PURE const IWidget& wgt const IWidget& wgt const IWidget& wgt const IWidget& wgt YSLib::UI::ImplRet | ( | wgt. | GetView).GetBounds( | ) | &

设置部件边界。

注解
  调用 SetLocationOf 和 SetSizeOf 。用户程序不应预期具有确定的调用顺序。

自从
  build 177

## ◆ ImplRet() [2/3]

YB_ATTR_nodiscard YB_PURE pt pt Y YB_ATTR_nodiscard YB_PURE const IWidget& wgt const IWidget& wgt const IWidget& wgt YSLib::UI::ImplRet | ( | wgt. | GetView).GetSize( | ) |

取部件边界。

自从
  build 190

## ◆ ImplRet() [3/3]

const IWidget& wgt YSLib::UI::ImplRet | ( | wgt. | GetView).IsVisible( | ) | const &

判断点是否在部件的可视区域内。

自从
  build 167

## ◆ InsertWidget()

template<typename _tWidget , typename... _tParams>

static void YSLib::UI::InsertWidget | ( | IWidget & | wgt,
|  | _tParams &&... | args
| ) |  |

static

注册部件加载器：添加部件引用。

自从
  build 496

待办事项:
  使用 ISO C++14 多态 lambda 表达式代替。

在文件 Loader.h 第 66 行定义.

引用了 AddWidget(), args, wgt , 以及 yforward.

被这些函数引用 YSLib::UI::GWidgetInserterRegister< IWidget & >::GetRegister().

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

## ◆ Invalidate()

void YSLib::UI::Invalidate | ( | IWidget & | wgt,
|  | const Rect & | bounds
| ) |  |

无效化：使相对部件的指定区域在直接和间接的窗口缓冲区中无效。

自从
  build 268

在文件 YWidget.cpp 第 108 行定义.

引用了 YSLib::Drawing::bounds, GetLocationOf, ystdex::make_observer(), YSLib::Drawing::r , 以及 wgt.

被这些函数引用 YSLib::UI::TabControl::Attach(), YSLib::UI::DialogBox::DialogBox(), Enable(), Hide(), YSLib::UI::MenuHost::HideRaw(), YSLib::UI::HorizontalTrack::HorizontalTrack(), YSLib::UI::HoverUpdater::HoverUpdater(), ImplDeDtor(), YSLib::DS::UI::DualScreenReader::Invalidate(), InvalidateAll(), InvalidateParent(), YSLib::UI::TextList::InvalidateSelected(), InvalidateWidgets(), main(), YSLib::UI::Panel::MoveToFront(), OnUIEvent_Invalidate(), YSLib::UI::ProgressBar::ProgressBar(), ImageBrowser::ImagePanel::ResetSize(), YSLib::UI::ATrack::SetThumbPosition(), YSLib::DS::UI::DualScreenReader::SetVisible(), Show(), SwitchVisible(), YSLib::UI::TextBox::TextBox(), YSLib::UI::TextList::TextList(), YSLib::UI::Thumb::Thumb(), YSLib::UI::TreeList::TreeList(), YSLib::UI::TabControl::UpdateTabPages(), YSLib::UI::HexViewArea::UpdateView(), UpdateView() , 以及 YSLib::UI::BufferedRenderer::Validate().

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

## ◆ InvalidateAll()

void YSLib::UI::InvalidateAll | ( | IWidget & | wgt,
|  | const Rect & | bounds
| ) |  |

在文件 YWidget.cpp 第 121 行定义.

引用了 YSLib::Drawing::bounds, Invalidate(), InvalidateChildren() , 以及 wgt.

函数调用图:

## ◆ InvalidateChildren()

void YSLib::UI::InvalidateChildren | ( | IWidget & | wgt,
|  | const Rect & | bounds
| ) |  |

在文件 YWidget.cpp 第 128 行定义.

引用了 YSLib::Drawing::bounds, GetLocationOf, YSLib::Drawing::r , 以及 wgt.

被这些函数引用 InvalidateAll().

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

## ◆ InvalidateParent()

void YSLib::UI::InvalidateParent | ( | IWidget & | wgt | ) |

在文件 YWidget.cpp 第 141 行定义.

引用了 GetBoundsOf, Invalidate() , 以及 wgt.

被这些函数引用 YSLib::UI::BorderResizer::Wrap().

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

## ◆ InvalidateVisible()

void YSLib::UI::InvalidateVisible | ( | IWidget & | wgt,
|  | const Rect & | bounds
| ) |  |

无效化：使相对可见的部件的指定区域在直接和间接的窗口缓冲区中无效。

自从
  build 455

参见
  UI::Invalidate

在文件 YWidget.cpp 第 148 行定义.

引用了 YSLib::Drawing::bounds, GetLocationOf, IsVisible, ystdex::make_observer(), YSLib::Drawing::r , 以及 wgt.

被这些函数引用 YSLib::UI::InvalidationUpdater::DefaultInvalidate(), YSLib::UI::InvalidationUpdater::DefaultInvalidateControl(), YSLib::UI::TextBox::InvalidateDefaultCaret() , 以及 InvalidateVisibleParent().

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

## ◆ InvalidateVisibleParent()

void YSLib::UI::InvalidateVisibleParent | ( | IWidget & | wgt | ) |

在文件 YWidget.cpp 第 163 行定义.

引用了 GetBoundsOf, InvalidateVisible(), IsVisible , 以及 wgt.

函数调用图:

## ◆ InvalidateWidgets()

template<class... _tWidgets>

void YSLib::UI::InvalidateWidgets | ( | _tWidgets &... | wgts | ) |

inline

向无效化部件。

自从
  build 594

在文件 YWidget.h 第 534 行定义.

引用了 Invalidate() , 以及 ystdex::unseq_apply().

被这些函数引用 YReader::ReaderBox::UpdateData() , 以及 YReader::TextInfoBox::UpdateData().

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

## ◆ IsFocused()

bool YSLib::UI::IsFocused | ( | const IWidget & | wgt | ) |

判断部件是否取得焦点。

在文件 YFocus.cpp 第 38 行定义.

引用了 FetchFocusingPtr, platform::p , 以及 wgt.

被这些函数引用 YSLib::UI::TabBar::DefaultPaintTabBorder(), DoRequestFocus() , 以及 YSLib::UI::Styles::InitExStyles().

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

## ◆ IsFocusedCascade()

bool YSLib::UI::IsFocusedCascade | ( | const IWidget & | wgt,
|  | observer_ptr< const IWidget > | p_top = `{}`
| ) |  |

判断部件相对指针指定的部件是否具有级联焦点。

注解
  逐级向父部件判断。
  若指针指定的部件不包含指定判断焦点的部件或为空，则判断到顶层部件。
  和 IsFocused 不同，若无父部件则认为是焦点。

自从
  build 672

在文件 YFocus.cpp 第 121 行定义.

引用了 FetchFocusingPtr, ystdex::make_observer() , 以及 wgt.

被这些函数引用 YSLib::UI::Caret::Check().

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

## ◆ LocateForParentContainer()

Point YSLib::UI::LocateForParentContainer | ( | const IWidget & | wgt | ) |

取指定部件相对容器的父容器的偏移坐标。

注解
  若无容器则返回 Point::Invalid 。

自从
  build 167

在文件 YUIContainer.cpp 第 119 行定义.

引用了 GetLocationOf, platform_ex::Windows::Invalid , 以及 wgt.

## ◆ LocateForTopOffset()

Point YSLib::UI::LocateForTopOffset | ( | const Point & | origin,
|  | IWidget & | wgt,
|  | const Point & | pt
| ) |  |

在文件 YUIContainer.cpp 第 91 行定义.

引用了 FetchTopLevel() , 以及 wgt.

被这些函数引用 BindTopLevelPopupMenu().

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

## ◆ LocateForTrace() [1/2]

YB_ATTR_nodiscard YB_PURE IWidget const Point& YB_ATTR_nodiscard YF_API YB_PURE Point YSLib::UI::LocateForTrace | ( | const vector< pair< observer_ptr< const IWidget >, Point >> & | ,
|  | const IWidget & |
| ) |  |

取指定部件相对轨迹的偏移坐标。

自从
  build 672

## ◆ LocateForTrace() [2/2]

Point YSLib::UI::LocateForTrace | ( | const vector< pair< observer_ptr< const IWidget >, Point >> & | lst,
|  | const IWidget & | wgt
| ) |  |

在文件 YUIContainer.cpp 第 100 行定义.

引用了 ystdex::get_key, GetLocationOf, YSLib::i, platform_ex::Windows::Invalid, ystdex::make_observer() , 以及 wgt.

函数调用图:

## ◆ LocateForWidgetNode()

template<class _tWidget , typename _fFetcher >

YB_ATTR_nodiscard YB_PURE wgt Point YSLib::UI::LocateForWidgetNode | ( | IWidget & | wgt,
|  | _fFetcher | fetch_ptr
| ) |  |

取指定部件相对视图树中的直接节点指针的偏移坐标。

模板参数

  _Node | 节点类型。
  _fFetcher | 节点访问器类型。

自从
  build 227

在文件 YUIContainer.h 第 115 行定义.

引用了 YSLib::Drawing::GBinaryGroup< SPos >::Invalid, LocateOffset(), ystdex::make_observer(), wgt , 以及 YB_LIKELY.

函数调用图:

## ◆ LocateMenu()

void YSLib::UI::LocateMenu | ( | Menu & | dst,
|  | const Menu & | src,
|  | Menu::IndexType | idx
| ) |  |

related

在文件 Menu.cpp 第 267 行定义.

引用了 NPL::dst, GetBoundsOf, YSLib::Drawing::r, SetLocationOf() , 以及 YSLib::Drawing::src.

函数调用图:

## ◆ LocateOffset() [1/2]

Point YSLib::UI::LocateOffset | ( | observer_ptr< const IWidget > | ,
|  | Point | ,
|  | observer_ptr< const IWidget > |
| ) |  |

取相对第三参数指向的部件的点相对第一参数指向的容器的偏移坐标。

自从
  build 672

在文件 YUIContainer.cpp 第 79 行定义.

引用了 GetLocationOf.

被这些函数引用 LocateForWidgetNode().

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

## ◆ LocateOffset() [2/2]

YB_ATTR_nodiscard YF_API YB_PURE Point YSLib::UI::LocateOffset | ( | observer_ptr< const IWidget > | ,
|  | Point | ,
|  | observer_ptr< const IWidget > |
| ) |  |

取相对第三参数指向的部件的点相对第一参数指向的容器的偏移坐标。

自从
  build 672

在文件 YUIContainer.cpp 第 79 行定义.

引用了 GetLocationOf.

被这些函数引用 LocateForWidgetNode().

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

## ◆ MakeLabel()

unique_ptr<Label> YSLib::UI::MakeLabel | ( | const String & | text,
|  | const Rect & | r,
|  | const Font & | fnt,
|  | const Padding & | m
| ) |  |

related

在文件 Label.cpp 第 143 行定义.

引用了 YSLib::UI::Label::CalculateBounds(), platform::p, YSLib::Drawing::r , 以及 yunseq.

函数调用图:

## ◆ MoveToBottom()

void YSLib::UI::MoveToBottom | ( | IWidget & | wgt | ) |

移动部件至容器下端。

前置条件
  间接断言：容器指针非空。

自从
  build 171

在文件 YUIContainer.cpp 第 128 行定义.

引用了 platform::Deref(), GetLocationOf, GetSizeOf, SetLocationOf(), wgt , 以及 platform::KeyCodes::DS::X.

被这些函数引用 ImplDeDtor() , 以及 YSLib::UI::ScrollableContainer::ScrollableContainer().

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

## ◆ MoveToCenter()

void YSLib::UI::MoveToCenter | ( | IWidget & | wgt | ) |

移动部件至容器中心。

前置条件
  间接断言：容器指针非空。

自从
  build 583

在文件 YUIContainer.cpp 第 135 行定义.

引用了 platform::Deref(), GetSizeOf, SetLocationOf() , 以及 wgt.

函数调用图:

## ◆ MoveToLeft()

void YSLib::UI::MoveToLeft | ( | IWidget & | wgt | ) |

移动部件至容器左端。

前置条件
  断言：容器指针非空。

自从
  build 171

在文件 YUIContainer.cpp 第 142 行定义.

引用了 GetLocationOf, SetLocationOf(), wgt, platform::KeyCodes::DS::Y , 以及 YAssertNonnull.

函数调用图:

## ◆ MoveToRight()

void YSLib::UI::MoveToRight | ( | IWidget & | wgt | ) |

移动部件至容器右端。

前置条件
  间接断言：容器指针非空。

自从
  build 171

在文件 YUIContainer.cpp 第 149 行定义.

引用了 platform::Deref(), GetLocationOf, GetSizeOf, SetLocationOf(), wgt , 以及 platform::KeyCodes::DS::Y.

被这些函数引用 ImplDeDtor() , 以及 YSLib::UI::ScrollableContainer::ScrollableContainer().

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

## ◆ MoveToTop()

void YSLib::UI::MoveToTop | ( | IWidget & | wgt | ) |

移动部件至容器上端。

前置条件
  断言：容器指针非空。

自从
  build 171

在文件 YUIContainer.cpp 第 156 行定义.

引用了 GetLocationOf, SetLocationOf(), wgt, platform::KeyCodes::DS::X , 以及 YAssertNonnull.

函数调用图:

## ◆ NewEvent()

template<VisualEvent _vID>

EventItem YSLib::UI::NewEvent | ( |  | ) |

构造指针指向的 VisualEvent 指定的事件对象。

自从
  build 850

在文件 YWidgetEvent.h 第 683 行定义.

## ◆ OnEvent_Call()

template<VisualEvent _vID, class _tEventArgs >

void YSLib::UI::OnEvent_Call | ( | _tEventArgs && | e | ) |

inline

处理事件：直接转发至发送者。

模板参数

  _vID | 指定转发的目标事件。
  _tEventArgs | 事件参数类型。

警告
  不应使用于自身以免无限递归。

自从
  build 300

在文件 YControl.h 第 168 行定义.

引用了 e.

## ◆ OnEvent_StopRouting()

template<class _tEventArgs >

void YSLib::UI::OnEvent_StopRouting | ( | _tEventArgs && | e | ) |

inline

处理事件：停止事件路由。

自从
  build 285

在文件 YControl.h 第 179 行定义.

引用了 e.

## ◆ OnKey_Bound_Click()

void YSLib::UI::OnKey_Bound_Click | ( | KeyEventArgs && | e | ) |

处理按键事件：按键-指针设备按下。

绑定触发 Click 事件。

注解
  仅对 Control 及其派生类有效。

在文件 YControl.cpp 第 172 行定义.

引用了 Click , 以及 e.

## ◆ OnKey_Bound_TouchDown()

void YSLib::UI::OnKey_Bound_TouchDown | ( | KeyEventArgs && | e | ) |

处理按键事件：按键-指针设备接触开始。

注解
  仅对 Control 及其派生类有效。

自从
  build 424

绑定触发 TouchDown 事件。

在文件 YControl.cpp 第 166 行定义.

引用了 e , 以及 TouchDown.

被这些函数引用 ImplDeDtor().

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

## ◆ OnKey_Bound_TouchUp()

void YSLib::UI::OnKey_Bound_TouchUp | ( | KeyEventArgs && | e | ) |

处理按键事件：按键-指针设备接触结束。

注解
  仅对 Control 及其派生类有效。

自从
  build 424

绑定触发 TouchUp 事件。

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

引用了 e , 以及 TouchUp.

被这些函数引用 ImplDeDtor().

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

## ◆ OnKeyHeld()

void YSLib::UI::OnKeyHeld | ( | KeyEventArgs && | e | ) |

处理键接触保持事件。

在文件 YControl.cpp 第 109 行定义.

引用了 e , 以及 FetchGUIState().

被这些函数引用 YSLib::UI::HexViewArea::HexViewArea(), ImplDeDtor() , 以及 YSLib::UI::TextList::TextList().

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

## ◆ OnTouchDown_RequestToFrontFocused()

void YSLib::UI::OnTouchDown_RequestToFrontFocused | ( | CursorEventArgs && | e | ) |

处理屏幕接触开始事件：使用一般接触策略。

屏幕接触时依次进行以下判断： 当事件路由策略非 RoutedEventArgs::Bubble 时请求置于顶端； 当事件路由策略为 RoutedEventArgs::Direct 时清除自身包含的焦点； 当事件路由策略非 RoutedEventArgs::Tunnel 时请求置于顶端。

自从
  build 422

在文件 YControl.cpp 第 119 行定义.

引用了 YSLib::UI::RoutedEventArgs::Bubble, ClearFocusingOf(), YSLib::UI::RoutedEventArgs::Direct, e, RequestToFront(), YSLib::UI::RoutedEventArgs::Tunnel , 以及 wgt.

函数调用图:

## ◆ OnTouchHeld()

void YSLib::UI::OnTouchHeld | ( | CursorEventArgs && | e | ) |

处理屏幕接触保持事件。

注解
  重复触发 TouchDown 事件。

自从
  build 422

在文件 YControl.cpp 第 132 行定义.

引用了 YSLib::UI::RoutedEventArgs::Direct, e , 以及 FetchGUIState().

被这些函数引用 ImplDeDtor().

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

## ◆ OnTouchHeld_Dragging()

void YSLib::UI::OnTouchHeld_Dragging | ( | CursorEventArgs && | e | ) |

处理屏幕接触移动事件：拖放按下部件。

注解
  无效化当前区域，但不无效化移动后区域；通过 Move 事件可以调用无效化。

自从
  build 422

在文件 YControl.cpp 第 145 行定义.

引用了 YSLib::UI::RoutedEventArgs::Direct , 以及 e.

## ◆ OnTouchHeld_DraggingRaw()

void YSLib::UI::OnTouchHeld_DraggingRaw | ( | CursorEventArgs && | e,
|  | IWidget & | wgt
| ) |  |

处理屏幕接触移动事件：拖放指定部件。

注解
  无效化当前区域，但不无效化移动后区域；通过 Move 事件可以调用无效化。

自从
  build 434

在文件 YControl.cpp 第 152 行定义.

引用了 YSLib::UI::RoutedEventArgs::Direct, e, ystdex::make_observer() , 以及 wgt.

函数调用图:

## ◆ OnUIEvent_Invalidate()

void YSLib::UI::OnUIEvent_Invalidate | ( | UIEventArgs && | e | ) |

处理用户界面事件：无效化发送者。

自从
  build 486

在文件 YControl.cpp 第 103 行定义.

引用了 e , 以及 Invalidate().

函数调用图:

## ◆ PaintChild() [1/2]

Rect YSLib::UI::PaintChild | ( | IWidget & | wgt,
|  | const PaintContext & | pc
| ) |  |

调用指定子部件的 Paint 事件绘制指定子部件。

返回
  实际绘制的区域。

注解
  使用指定子部件作为事件发送者并复制参数。

自从
  build 294

以 wgt 作为绘制目标，判断其边界是否和区域 pc.ClipArea 相交， 若相交区域非空则新建 PaintEventArgs ，调用 wgt 的渲染器的 Paint 方法绘制 。

在文件 YWidget.cpp 第 180 行定义.

引用了 e, PaintChild() , 以及 wgt.

函数调用图:

## ◆ PaintChild() [2/2]

void YSLib::UI::PaintChild | ( | IWidget & | wgt,
|  | PaintEventArgs && | e
| ) |  |

调用指定子部件的 Paint 事件绘制参数指定的事件发送者。

参见
  Renderer::Paint

自从
  build 263

以 e.Sender() 作为绘制目标，判断其边界是否和区域 e.ClipArea 相交， 若相交区域非空则调用 wgt 的渲染器的 Paint 方法绘制 。 调用中， e.Location 被修改为相对子部件的坐标， e.ClipArea 被覆盖为相交区域。 之后， e 可继续被 e.GetSender() 的渲染器的 Paint 方法修改。

在文件 YWidget.cpp 第 171 行定义.

引用了 e, GetLocationOf, GetSizeOf , 以及 wgt.

被这些函数引用 PaintChild(), PaintChildAndCommit() , 以及 YReader::TextInfoBox::Refresh().

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

## ◆ PaintChildAndCommit()

void YSLib::UI::PaintChildAndCommit | ( | IWidget & | wgt,
|  | PaintEventArgs & | e
| ) |  |

调用 PaintChild 指定子部件并提交参数的重绘区域。

自从
  build 522

在文件 YWidget.cpp 第 189 行定义.

引用了 e, PaintChild() , 以及 wgt.

函数调用图:

## ◆ PaintVisibleChildAndCommit()

void YSLib::UI::PaintVisibleChildAndCommit | ( | IWidget & | wgt,
|  | PaintEventArgs & | e
| ) |  |

inline

调用可见的 PaintChild 指定子部件并提交参数的重绘区域。

自从
  build 522

被这些函数引用 YSLib::UI::TextList::Refresh() , 以及 YSLib::UI::Widget::Refresh().

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

## ◆ ParseRect()

Rect YSLib::UI::ParseRect | ( | const string & | str | ) |

自从
  build 433

在文件 Loader.cpp 第 43 行定义.

引用了 NPL::c_str(), platform::Descriptions::Debug, e, YSLib::Drawing::Rect::Height, YSLib::str, ystdex::to_string(), platform::Descriptions::Warning, YSLib::Drawing::Rect::Width, YSLib::Drawing::GBinaryGroup< _type >::X, YSLib::Drawing::GBinaryGroup< _type >::Y , 以及 YTraceDe.

被这些函数引用 YSLib::UI::WidgetLoader::DetectWidgetNode().

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

## ◆ PDefH() [1/16]

YSLib::UI::PDefH | ( | bool | ,
|  | CallInputEvent | ,
|  | char16_t | c,
|  | const KeyInput & | k,
|  | IWidget & | wgt
| ) |  |

inline

自从
  build 641

引用了 CHRLib::c.

## ◆ PDefH() [2/16]

YSLib::UI::PDefH | ( | bool | ,
|  | CheckChildName | ,
|  | string_view | sv
| ) |  |

inline

检查是否为元数据名称。

前置条件
  断言：参数的数据指针非空。

自从
  build 659

## ◆ PDefH() [3/16]

YB_ATTR_nodiscard YB_PURE YSLib::UI::PDefH | ( | bool | ,
|  | Contains | ,
|  | const IWidget & | wgt,
|  | const Point & | pt
| ) |  |

inline

判断点是否在部件的可视区域内。

自从
  build 167

## ◆ PDefH() [4/16]

YB_ATTR_nodiscard YB_PURE YSLib::UI::PDefH | ( | bool | ,
|  | ContainsVisible | ,
|  | const IWidget & | wgt,
|  | const Point & | pt
| ) |  |

inline

判断点是否在可见部件的可视区域内。

自从
  build 173

## ◆ PDefH() [5/16]

YSLib::UI::PDefH | ( | bool | ,
|  | IsEnabled | ,
|  | const IWidget & | wgt
| ) |  |

inline

判断部件是否为可用的控件。

设置部件可用性。

## ◆ PDefH() [6/16]

YB_ATTR_nodiscard YB_PURE YSLib::UI::PDefH | ( | Point | ,
|  | LocateContainerOffset | ,
|  | const IWidget & | wgt,
|  | const Point & | pt
| ) |  | const &

inline

取相对部件 wgt 的点 pt 相对 wgt 的容器的偏移坐标。

自从
  build 167

取顶层部件对应的偏移。

自从
  build 573

计算第一参数在第二参数指定的部件对应的顶层部件位置与第三参数指定的偏移量之和。

## ◆ PDefH() [7/16]

YB_ATTR_nodiscard YB_PURE YSLib::UI::PDefH | ( | Point | ,
|  | LocateForWidget | ,
|  | const IWidget & | base,
|  | const IWidget & | wgt
| ) |  |

inline

取部件 wgt 相对部件 base 指定的部件的偏移坐标。

自从
  build 489

## ◆ PDefH() [8/16]

yconstfn YSLib::UI::PDefH | ( | ValueNode & | ,
|  | AccessWidgetNode | ,
|  | ValueNode & | nd
| ) |  | &

按指定名称访问子部件节点。

## ◆ PDefH() [9/16]

YSLib::UI::PDefH | ( | void | ,
|  | Activate | ,
|  | Console & | console,
|  | Drawing::Color | fc = `Drawing::ColorSpace::White`
| ) |  |

inline

激活：使用指定屏幕、有效性、前景色和默认背景色。

注解
  使用非限定名称查找到的友元函数。

自从
  build 494

## ◆ PDefH() [10/16]

YSLib::UI::PDefH | ( | void | ,
|  | DisplayFor | ,
|  | IWidget & | wgt,
|  | Timers::TimeSpan | delay
| ) |  |

inline

在一定时间内显示部件。

自从
  build 584

## ◆ PDefH() [11/16]

YSLib::UI::PDefH | ( | void | ,
|  | Invalidate | ,
|  | IWidget & | wgt
| ) |  |

inline

无效化：使部件区域在直接和间接的窗口缓冲区中无效。

自从
  build 224

## ◆ PDefH() [12/16]

const Rect& YSLib::UI::PDefH | ( | void | ,
|  | InvalidateAll | ,
|  | IWidget & | wgt
| ) |  |

inline

无效化：使部件及子部件区域在直接和间接的窗口缓冲区中无效。

## ◆ PDefH() [13/16]

const Rect const Rect& YSLib::UI::PDefH | ( | void | ,
|  | InvalidateChildren | ,
|  | IWidget & | wgt
| ) |  |

inline

无效化：使部件的子部件区域在直接和间接的窗口缓冲区中无效。

## ◆ PDefH() [14/16]

YSLib::UI::PDefH | ( | void | ,
|  | InvalidateVisible | ,
|  | IWidget & | wgt
| ) |  |

inline

无效化：使可见的部件区域在直接和间接的窗口缓冲区中无效。

参见
  UI::Invalidate

## ◆ PDefH() [15/16]

YB_ATTR_nodiscard YB_PURE pt pt Y YB_ATTR_nodiscard YB_PURE const IWidget& wgt const IWidget& wgt const IWidget& wgt const IWidget& wgt const Rect& YSLib::UI::PDefH | ( | void | ,
|  | SetContainerPtrOf | ,
|  | IWidget & | wgt,
|  | observer_ptr< IWidget > | p_con = `{}`
| ) |  |

inline

设置部件的容器指针。

自从
  build 672

## ◆ PDefH() [16/16]

YSLib::UI::PDefH | ( | void | ,
|  | SetVisibleOf | ,
|  | IWidget & | wgt,
|  | bool | b
| ) |  | &

inline

设置部件可见性。

自从
  build 259

关闭部件。

自从
  build 275

隐藏部件后取消容器（若存在）焦点状态。

## ◆ ReleaseFocusCascade()

void YSLib::UI::ReleaseFocusCascade | ( | IWidget & | wgt | ) |

级联释放部件及上层容器焦点。

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

引用了 platform::p , 以及 wgt.

## ◆ ReleaseFocusFrom()

void YSLib::UI::ReleaseFocusFrom | ( | IWidget & | dst,
|  | IWidget & | src
| ) |  |

释放焦点，并指定 LostFocus 事件发送控件。

参数

  dst | 事件目标。
  src | 事件源。

注解
  若成功则在 dst 上触发 src 发送的 LostFocus 事件。

在文件 YFocus.cpp 第 94 行定义.

引用了 DoReleaseFocus(), NPL::dst, FetchFocusingPtr, ystdex::make_observer(), platform::p, YSLib::Drawing::src , 以及 YSLib::YAssert().

被这些函数引用 DoRequestFocus().

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

## ◆ RemoveFrom()

bool YSLib::UI::RemoveFrom | ( | IWidget & | wgt,
|  | IWidget & | con
| ) |  |

从容器中移除部件。

返回
  是否移除成功。

注解
  第二参数指定的部件作为容器检查和尝试移除第一参数指定的部件。
  若移除成功同时移除焦点指针。

自从
  build 494

在文件 YUIContainer.cpp 第 164 行定义.

引用了 FetchFocusingPtr, NPL::get , 以及 wgt.

被这些函数引用 YSLib::UI::Panel::operator-=() , 以及 YSLib::UI::TabBar::operator-=().

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

## ◆ RemoveWidgets()

template<class _tCon , class... _tWidgets>

void YSLib::UI::RemoveWidgets | ( | _tCon & | con,
|  | _tWidgets &... | wgts
| ) |  |

inline

从部件容器移除子部件。

注解
  不保证顺序。

自从
  build 303

在文件 YUIContainer.h 第 474 行定义.

引用了 ystdex::ref() , 以及 ystdex::unseq_apply().

被这些函数引用 YReader::ShlTextReader::SettingSession::~SettingSession().

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

## ◆ RepeatHeld()

bool YSLib::UI::RepeatHeld | ( | InputTimer & | tmr,
|  | InputTimer::HeldStateType & | st,
|  | const Timers::Duration & | initial_delay,
|  | const Timers::Duration & | repeated_delay
| ) |  |

向指定计时器传递参数，根据状态重复按键。

返回
  当且仅当结果为 true 时或之前状态为 HeldStateType::Free 时为 true 。

自从
  build 300

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

引用了 YSLib::UI::InputTimer::Free.

被这些函数引用 YReader::ShlTextReader::OnKeyDown().

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

## ◆ RequestFocusCascade()

void YSLib::UI::RequestFocusCascade | ( | IWidget & | wgt | ) |

级联请求部件及上层容器焦点。

在文件 YFocus.cpp 第 137 行定义.

引用了 platform::p , 以及 wgt.

## ◆ RequestFocusFrom()

void YSLib::UI::RequestFocusFrom | ( | IWidget & | dst,
|  | IWidget & | src
| ) |  |

向部件容器请求获得焦点，并指定 GotFocus 事件发送控件。

参数

  dst | 事件目标。
  src | 事件源。

注解
  若成功则在 dst 上触发 src 发送的 GotFocus 事件。

在文件 YFocus.cpp 第 85 行定义.

引用了 DoRequestFocus(), NPL::dst, FetchFocusingPtr, platform::p , 以及 YSLib::Drawing::src.

函数调用图:

## ◆ RequestToFront()

void YSLib::UI::RequestToFront | ( | IWidget & | wgt | ) |

在文件 YWidget.cpp 第 195 行定义.

引用了 NPL::get , 以及 wgt.

被这些函数引用 OnTouchDown_RequestToFrontFocused() , 以及 SwitchVisibleToFront().

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

## ◆ ResizeForContent()

void YSLib::UI::ResizeForContent | ( | TextList & | tl | ) |

related

在文件 ListControl.cpp 第 414 行定义.

引用了 YSLib::Drawing::FetchMaxTextWidth(), YSLib::UI::MLabel::Font, YSLib::UI::AMUnitControlList::GetFullViewHeight(), YSLib::Drawing::GetHorizontalOf, YSLib::UI::MTextList::LabelBrush, YSLib::UI::MLabel::Margin , 以及 SetSizeOf().

函数调用图:

## ◆ Restart()

_fCallable void YSLib::UI::Restart | ( | _tAnimation & | ani,
|  | IWidget & | wgt,
|  | _fCallable | f
| ) |  |

inline

在文件 Animation.h 第 184 行定义.

引用了 CHRLib::f(), ystdex::make_observer() , 以及 wgt.

被这些函数引用 YSLib::UI::Caret::Caret() , 以及 Setup().

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

## ◆ SetBoundsOf()

void YSLib::UI::SetBoundsOf | ( | IWidget & | wgt,
|  | const Rect & | r
| ) |  |

在文件 YWidget.cpp 第 56 行定义.

引用了 YSLib::Drawing::r, SetLocationOf(), SetSizeOf() , 以及 wgt.

被这些函数引用 YSLib::UI::TabBar::PerformLayout(), SetupContentsOf(), YSLib::UI::TabControl::SwitchPage(), YSLib::UI::TabControl::UpdateTabPages() , 以及 YSLib::UI::BorderResizer::Wrap().

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

## ◆ SetBufferRendererAndText()

template<class _tWidget >

void YSLib::UI::SetBufferRendererAndText | ( | _tWidget & | wgt,
|  | const String & | s
| ) |  |

inline

设置部件渲染器为 BufferedRenderer 及部件的 Text 成员。

自从
  build 301

在文件 ShellHelper.h 第 295 行定义.

引用了 CHRLib::s , 以及 wgt.

## ◆ SetInvalidationOf()

void YSLib::UI::SetInvalidationOf | ( | IWidget & | wgt | ) |

在文件 YWidget.cpp 第 63 行定义.

引用了 GetSizeOf , 以及 wgt.

被这些函数引用 YSLib::UI::Panel::ClearContents(), main() , 以及 UpdateView().

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

## ◆ SetInvalidationToParent()

void YSLib::UI::SetInvalidationToParent | ( | IWidget & | wgt | ) |

在容器设置部件的无效区域。

注解
  若容器不存在则忽略。

自从
  build 229

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

引用了 GetBoundsOf , 以及 wgt.

## ◆ SetLocationOf()

void YSLib::UI::SetLocationOf | ( | IWidget & | wgt,
|  | const Point & | pt
| ) |  |

设置部件左上角所在位置（相对容器的偏移坐标）。

注解
  设置视图状态后触发 Move 事件。

自从
  build 259

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

引用了 wgt.

被这些函数引用 YSLib::UI::HorizontalTrack::HorizontalTrack(), ImplDeDtor(), LocateMenu(), MoveToBottom(), MoveToCenter(), MoveToLeft(), MoveToRight(), MoveToTop(), SetBoundsOf(), YSLib::UI::ATrack::SetThumbPosition() , 以及 YReader::ShlTextReader::ShowMenu().

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

## ◆ SetRendererOnHover()

template<typename _func >

void YSLib::UI::SetRendererOnHover | ( | IWidget & | wgt,
|  | Widget & | target,
|  | _func | f
| ) |  |

inline

设置悬停操作渲染器。

自从
  build 548

在文件 Hover.h 第 82 行定义.

引用了 ActOnHover(), CHRLib::f(), ystdex::ref() , 以及 wgt.

函数调用图:

## ◆ SetSizeOf()

void YSLib::UI::SetSizeOf | ( | IWidget & | wgt,
|  | const Size & | s
| ) |  |

设置部件大小。

注解
  依次设置渲染器和视图状态，然后触发 Resize 事件。

自从
  build 259

在文件 YWidget.cpp 第 83 行定义.

引用了 CHRLib::s , 以及 wgt.

被这些函数引用 ImplDeDtor(), YSLib::UI::ListBox::ListBox(), YSLib::UI::TextList::Refresh(), ResizeForContent(), SetBoundsOf(), YSLib::DS::UI::DualScreenReader::Stretch() , 以及 YSLib::UI::TextList::TextList().

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

## ◆ Setup() [1/2]

template<class _tAnimation , typename _func , typename _fCond >

void YSLib::UI::Setup | ( | _tAnimation & | ani,
|  | IWidget & | wgt,
|  | _fCond | cond,
|  | _func | f
| ) |  |

在文件 Animation.h 第 204 行定义.

引用了 CHRLib::f(), Restart(), wgt , 以及 ynoexcept.

函数调用图:

## ◆ Setup() [2/2]

template<class _tAnimation , typename _func >

void YSLib::UI::Setup | ( | _tAnimation & | ani,
|  | IWidget & | wgt,
|  | _func | f
| ) |  |

安装动画效果。

在文件 Animation.h 第 195 行定义.

引用了 CHRLib::f(), Restart(), wgt , 以及 ynoexcept_spec.

被这些函数引用 SetupByTimer().

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

## ◆ SetupByTimer()

template<class _tAnimation , typename _func , typename _tTimer >

void YSLib::UI::SetupByTimer | ( | _tAnimation & | ani,
|  | IWidget & | wgt,
|  | _tTimer && | timer,
|  | _func | f
| ) |  |

安装以计时器控制的动画效果。

在文件 Animation.h 第 218 行定义.

引用了 CHRLib::f(), Setup(), wgt , 以及 ynoexcept_spec.

被这些函数引用 ActAfter() , 以及 main().

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

## ◆ SetupContentsOf()

void YSLib::UI::SetupContentsOf | ( | Label & | lbl,
|  | const String & | text,
|  | const Rect & | r = `Rect::Invalid`,
|  | const Drawing::Font & | fnt = `{}`,
|  | const Drawing::Padding & | m = `Drawing::DefaultMargin * 2`
| ) |  |

设置指定字符串、初始边界、字体和边距的单行文本需要的标签。

在文件 Label.cpp 第 153 行定义.

引用了 YSLib::UI::Label::CalculateBounds(), YSLib::UI::Label::Font, YSLib::UI::Label::Margin, YSLib::Drawing::r, SetBoundsOf(), YSLib::UI::Label::Text , 以及 yunseq.

函数调用图:

## ◆ Show()

void YSLib::UI::Show | ( | IWidget & | wgt | ) |

显示部件。

依次设置部件可见性、请求部件焦点和无效化。

自从
  build 229

在文件 YWidget.cpp 第 202 行定义.

引用了 Invalidate() , 以及 wgt.

被这些函数引用 YReader::ShlTextReader::BookmarkSession::BookmarkSession(), YReader::ShlTextReader::Execute(), YReader::ShlTextReader::OnClick(), YReader::ShlTextReader::SettingSession::SettingSession(), YSLib::UI::MenuHost::ShowRaw() , 以及 YReader::ShlTextReader::BaseSession::~BaseSession().

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

## ◆ SwapLocationOf()

void YSLib::UI::SwapLocationOf | ( | AView & | v,
|  | Point & | pt
| ) |  |

related

在文件 YWidgetView.cpp 第 54 行定义.

引用了 ystdex::state_guard< _type, _tCond, _tToken >::dismiss(), v , 以及 ystdex::state_guard< _type, _tCond, _tToken >::value.

函数调用图:

## ◆ SwapSizeOf()

void YSLib::UI::SwapSizeOf | ( | AView & | v,
|  | Size & | s
| ) |  |

交换指定视图的大小。

在文件 YWidgetView.cpp 第 63 行定义.

引用了 ystdex::state_guard< _type, _tCond, _tToken >::dismiss(), CHRLib::s, v , 以及 ystdex::state_guard< _type, _tCond, _tToken >::value.

函数调用图:

## ◆ SwitchVisible()

void YSLib::UI::SwitchVisible | ( | IWidget & | wgt | ) |

切换部件显示状态并无效化。

自从
  build 229

在文件 ShellHelper.cpp 第 146 行定义.

引用了 Invalidate(), IsVisible , 以及 wgt.

函数调用图:

## ◆ SwitchVisibleToFront()

void YSLib::UI::SwitchVisibleToFront | ( | IWidget & | wgt | ) |

切换部件显示状态并请求提升至前端。

自从
  build 467

在文件 ShellHelper.cpp 第 153 行定义.

引用了 IsVisible, RequestToFront() , 以及 wgt.

函数调用图:

## ◆ UpdateView()

void YSLib::UI::UpdateView | ( | TextList & | tl,
|  | bool | is_active = `{}`
| ) |  |

更新文本列表视图。

参数

  is_active | 是否确定仅变更视图位置。

自从
  build 392

调用视图变更事件、调整视图长度并无效化。

在文件 ListControl.cpp 第 425 行定义.

引用了 YSLib::UI::AMUnitControlList::GetUnitRef(), Invalidate(), SetInvalidationOf() , 以及 YSLib::UI::AMUnitControlList::ViewChanged.

被这些函数引用 YSLib::UI::FileBox::FileBox(), ImplDeDtor(), YSLib::UI::TextList::LocateViewPosition(), YSLib::UI::TextList::ResetView(), YSLib::UI::TextList::TextList() , 以及 YSLib::UI::TreeList::TreeList().

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

## ◆ WrapRenderer()

template<class _tRenderer , typename... _tParams>

YB_ATTR_nodiscard _tRenderer& YSLib::UI::WrapRenderer | ( | Widget & | wgt,
|  | _tParams &&... | args
| ) |  |

inline

在文件 YWidget.h 第 521 行定义.

引用了 args, wgt , 以及 yforward.

## 变量说明

## ◆ args

yconstfn const string _tParams&& YSLib::UI::args

初始值:
{
TryRet(AccessWidgetNode(AccessNode(AccessNode(node, "$children"), name),
yforward(args)...))
CatchThrow(std::out_of_range&,
WidgetNotFound(node.GetName(), "Widget children not found."))
}
YF_API IWidget&
AccessWidget(const ValueNode&)

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

被这些函数引用 AccessWidget(), ActOnHover(), CreateUniqueWidget(), InsertWidget(), YSLib::UI::GAnimationSession< InvalidationUpdater >::Reset() , 以及 WrapRenderer().

## ◆ bool

IWidget bool b YSLib::UI::bool = true)

在文件 YControl.h 第 122 行定义.

## ◆ e

void YSLib::UI::e

在文件 YWidget.h 第 347 行定义.

被这些函数引用 BindTopLevelPopupMenu(), CallEvent(), YSLib::UI::Caret::Caret(), YSLib::UI::CheckBox::CheckBox(), YSLib::UI::TabBar::DefaultPaintTabBorder(), DoEvent(), DrawTrackBackground(), YSLib::UI::FileBox::FileBox(), YSLib::UI::HexViewArea::HexViewArea(), YSLib::UI::HorizontalTrack::HorizontalTrack(), ImplDeDtor(), YSLib::UI::ScrollBar::InitializeArrowPainters(), YSLib::UI::ListBox::ListBox(), YSLib::UI::Menu::Menu(), OnEvent_Call(), OnEvent_StopRouting(), OnKey_Bound_Click(), OnKey_Bound_TouchDown(), OnKey_Bound_TouchUp(), OnKeyHeld(), OnTouchDown_RequestToFrontFocused(), OnTouchHeld(), OnTouchHeld_Dragging(), OnTouchHeld_DraggingRaw(), OnUIEvent_Invalidate(), YSLib::UI::MLabel::operator()(), YSLib::UI::Styles::Painter::operator()(), YSLib::UI::BufferedRenderer::Paint(), PaintChild(), PaintChildAndCommit(), YSLib::UI::TextBox::PaintDefaultCaret(), ParseRect(), YSLib::UI::TreeList::QueryNodeState(), YSLib::UI::RadioBox::RadioBox(), YSLib::UI::ProgressBar::Refresh(), YSLib::UI::TabBar::Refresh(), YSLib::UI::Panel::Refresh(), YSLib::UI::BufferedTextArea::Refresh(), YSLib::UI::Button::Refresh(), YSLib::UI::CheckBox::Refresh(), YSLib::UI::Label::Refresh(), YSLib::UI::HexViewArea::Refresh(), YSLib::UI::CheckButton::Refresh(), YSLib::UI::TextBox::Refresh(), YSLib::UI::RadioBox::Refresh(), YSLib::UI::DropDownList::Refresh(), YSLib::UI::RadioButton::Refresh(), YSLib::UI::TextList::Refresh(), YSLib::UI::Widget::Refresh(), YSLib::UI::ScrollableContainer::ScrollableContainer(), YSLib::UI::FileBox::SetPath(), YSLib::UI::TextBox::TextBox(), YSLib::UI::TextList::TextList(), YSLib::UI::Thumb::Thumb(), YSLib::UI::TreeList::TreeList(), YSLib::UI::BufferedRenderer::Validate() , 以及 YSLib::UI::BorderResizer::Wrap().

## ◆ fc

YSLib::UI::fc

在文件 Console.h 第 93 行定义.

被这些函数引用 YSLib::UI::Console::Console() , 以及 YSLib::InitializeSystemFontCache().

## ◆ FetchFocusingPtr

YB_ATTR_nodiscard YB_PURE pt pt Y YB_ATTR_nodiscard YB_PURE YSLib::UI::FetchFocusingPtr

在文件 YWidget.h 第 149 行定义.

被这些函数引用 ClearFocusingOf(), IsFocused(), IsFocusedCascade(), YSLib::UI::Window::operator-=(), ReleaseFocusFrom(), RemoveFrom() , 以及 RequestFocusFrom().

## ◆ GetBoundsOf

YB_ATTR_nodiscard YB_PURE pt pt Y YB_ATTR_nodiscard YB_PURE const IWidget& wgt const IWidget& wgt const IWidget& wgt YSLib::UI::GetBoundsOf

在文件 YWidget.h 第 172 行定义.

被这些函数引用 InvalidateParent(), InvalidateVisibleParent(), LocateMenu(), YSLib::UI::Menu::Menu(), SetInvalidationToParent(), YSLib::UI::Widget::SetView(), YSLib::UI::Desktop::Validate() , 以及 YSLib::UI::BorderResizer::Wrap().

## ◆ GetLocationOf

YB_ATTR_nodiscard YB_PURE pt pt Y YB_ATTR_nodiscard YB_PURE const IWidget& wgt YSLib::UI::GetLocationOf

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

被这些函数引用 FetchTopLevel(), FetchTrace(), YSLib::UI::HorizontalTrack::HorizontalTrack(), ImplDeDtor(), Invalidate(), InvalidateChildren(), InvalidateVisible(), LocateForParentContainer(), LocateForTrace(), LocateOffset(), MoveToBottom(), MoveToLeft(), MoveToRight(), MoveToTop(), PaintChild(), YSLib::UI::TabBar::Refresh() , 以及 YSLib::UI::ATrack::SetThumbPosition().

## ◆ GetSizeOf

YSLib::UI::GetSizeOf

无效化：使相对部件的子部件的指定区域在直接和间接的窗口缓冲区中无效。

无效化可见的部件区域对应位置的父容器区域。

无效化部件区域对应位置的父容器区域。

注解
  若不存在父容器则忽略。

参见
  UI::Invalidate

自从
  build 433

注解
  若不存在可见的父容器则忽略。

参见
  UI::InvalidateParent
  UI::InvalidateVisible

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

被这些函数引用 YSLib::UI::CheckBox::CheckBox(), YSLib::UI::TabBar::DefaultPaintTabBorder(), DrawTrackBackground(), YSLib::UI::AMUnitList::GetItemHeightCore(), YSLib::UI::TextBox::GetPenOffset(), ImplDeDtor(), YSLib::UI::Styles::InitExStyles(), YSLib::UI::Menu::Menu(), MoveToBottom(), MoveToCenter(), MoveToRight(), YSLib::UI::MLabel::operator()(), PaintChild(), YSLib::UI::TabBar::PerformLayout(), YSLib::UI::RadioBox::RadioBox(), YSLib::UI::ProgressBar::Refresh(), YSLib::UI::TabBar::Refresh(), YReader::TextInfoBox::Refresh(), ImageBrowser::ImagePanel::ResetSize(), SetInvalidationOf() , 以及 YSLib::UI::TextList::TextList().

## ◆ IsVisible

bool YSLib::UI::View::IsVisible

在文件 YWidget.h 第 101 行定义.

被这些函数引用 ContainsVisible(), YSLib::UI::MenuHost::HideRaw(), InvalidateVisible(), InvalidateVisibleParent(), YSLib::UI::MenuHost::IsShowing(), YReader::ShlTextReader::OnClick(), YSLib::UI::TabBar::Refresh(), YSLib::UI::ScrollableContainer::ScrollableContainer(), SwitchVisible() , 以及 SwitchVisibleToFront().

## ◆ name

yconstfn const string& YSLib::UI::name

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

被这些函数引用 AccessWidget(), empty(), YSLib::UI::Styles::StyleMap::Remove() , 以及 YSLib::UI::Styles::StyleMap::Switch().

## ◆ SetEnabledOf

YSLib::UI::SetEnabledOf

在文件 YControl.h 第 113 行定义.

被这些函数引用 Enable() , 以及 YSLib::UI::Menu::Menu().

## ◆ SPos

const IWidget &wgt YSLib::UI::SPos

在文件 YWidget.h 第 109 行定义.

被这些函数引用 YSLib::UI::AMUnitList::CheckPoint(), DrawTrackBackground(), YSLib::UI::MLabel::GetAlignedPenOffset(), YSLib::UI::AMUnitList::GetLastLabelIndexClipped(), ImplDeDtor() , 以及 YSLib::UI::BorderResizer::Wrap().

## ◆ wgt

IWidget& YSLib::UI::wgt

在文件 YControl.h 第 113 行定义.

被这些函数引用 ActAfter(), ActOnHover(), YSLib::UI::Window::Add(), AddWidget(), BindTopLevelPopupMenu(), CallEvent(), CallInputEvent(), YSLib::UI::Caret::Caret(), ClearFocusingOf(), Close(), YSLib::UI::MLinearUIContainer::Contains(), ContainsVisible(), YSLib::UI::InvalidationUpdater::DefaultInvalidate(), YSLib::UI::InvalidationUpdater::DefaultInvalidateControl(), YSLib::Devices::InputManager::DispatchInput(), DoReleaseFocus(), DoRequestFocus(), Enable(), FetchEvent(), FetchTopLevel(), FetchTrace(), YSLib::UI::TabControl::Find(), Hide(), YSLib::UI::HoverUpdater::HoverUpdater(), ImplDeDtor(), InsertWidget(), Invalidate(), InvalidateAll(), InvalidateChildren(), YSLib::UI::TextBox::InvalidateDefaultCaret(), InvalidateParent(), InvalidateVisible(), InvalidateVisibleParent(), IsFocused(), IsFocusedCascade(), LocateForParentContainer(), LocateForTopOffset(), LocateForTrace(), LocateForWidgetNode(), YSLib::UI::AMUnitControlList::MakeIterator(), YSLib::UI::Menu::Menu(), MoveToBottom(), MoveToCenter(), YSLib::UI::Panel::MoveToFront(), MoveToLeft(), MoveToRight(), MoveToTop(), OnTouchDown_RequestToFrontFocused(), OnTouchHeld_DraggingRaw(), YSLib::UI::Panel::operator+=(), YSLib::UI::Window::operator+=(), YSLib::UI::Panel::operator-=(), YSLib::UI::Window::operator-=(), YSLib::UI::MLinearUIContainer::operator-=(), YSLib::UI::BufferedRenderer::Paint(), PaintChild(), PaintChildAndCommit(), YSLib::UI::MUIContainer::QueryZ(), YSLib::UI::TabBar::Refresh(), ReleaseFocusCascade(), RemoveFrom(), RequestFocusCascade(), RequestToFront(), Restart(), SetBoundsOf(), SetBufferRendererAndText(), SetInvalidationOf(), SetInvalidationToParent(), SetLocationOf(), SetRendererOnHover(), SetSizeOf(), Setup(), SetupByTimer(), Show(), YSLib::UI::MenuHost::ShowAll(), SwitchVisible(), SwitchVisibleToFront(), YSLib::UI::WidgetLoader::TransformUILayout(), YSLib::UI::BufferedRenderer::Validate(), YSLib::DS::ShlDS::WrapForSwapScreens(), YSLib::UI::Widget::WrapRenderer() , 以及 WrapRenderer().

## ◆ x

SPos YSLib::UI::x

在文件 YWidget.cpp 第 43 行定义.

被这些函数引用 ContainsVisible(), DrawTrackBackground(), YSLib::UI::HorizontalTrack::HorizontalTrack(), YSLib::UI::TextList::InvalidateSelected2(), YSLib::UI::TabBar::PerformLayout() , 以及 YSLib::UI::HexViewArea::Refresh().

## ◆ X

YB_ATTR_nodiscard YB_PURE pt YSLib::UI::X

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

被这些函数引用 ImplDeDtor().

## ◆ y

SPos SPos YSLib::UI::y

初始值:
{
return GetBoundsOf(wgt).Contains(x, y)

在文件 YWidget.cpp 第 43 行定义.

被这些函数引用 ystdex::alloc_on_copy(), ystdex::alloc_on_move(), ystdex::alloc_on_swap(), ystdex::examiners::equal::are_equal(), YSLib::HeldEqual< weak_ptr< _type1 >, weak_ptr< _type2 > >::are_equal(), YSLib::HeldEqual< pair< _type1, _type2 >, pair< _type3, _type4 > >::are_equal(), YSLib::GHEvent< _tRet(_tParams...)>::GEquality< _fCallable >::AreEqual(), YSLib::GHEvent< _tRet(_tParams...)>::GEqualityExpanded< _fCallable >::AreEqual(), YSLib::AreEqualHeld(), YSLib::Drawing::BlitRect(), CHRLib::GUCSMapper< CharSet::UTF_8 >::CheckInvalid(), ContainsVisible(), ystdex::details::rb_tree::tree< key_type, value_type, first_of<>, key_compare, allocator_type >::copy_node(), YSLib::Drawing::Size::DefDeCopyAssignment(), ystdex::details::do_alloc_on_copy(), ystdex::details::do_alloc_on_move(), ystdex::details::do_alloc_on_swap(), YSLib::Drawing::DrawArrow(), YSLib::Drawing::DrawCircle(), YSLib::Drawing::DrawCornerArrow(), DrawTrackBackground(), ystdex::details::rb_tree::tree< key_type, value_type, first_of<>, key_compare, allocator_type >::equal_range_impl(), ystdex::details::rb_tree::tree< key_type, value_type, first_of<>, key_compare, allocator_type >::erase_node(), YReader::FetchImage(), YSLib::Drawing::FillCircle(), ystdex::details::rb_tree::tree< key_type, value_type, first_of<>, key_compare, allocator_type >::get_insert_equal_pos(), ystdex::details::rb_tree::tree< key_type, value_type, first_of<>, key_compare, allocator_type >::get_insert_unique_pos(), YSLib::HalfDifference(), ystdex::path_traits< void >::have_same_root_names(), ystdex::path_traits< basic_string< _tChar, _tTraits, _tAlloc > >::have_same_root_names(), YSLib::GHEvent< _tRet(_tParams...)>::HaveSameTargetType(), ystdex::any_ops::holder::hold_same(), ystdex::hold_same(), ImplDeDtor(), YSLib::GHEvent< _tRet(_tParams...)>::ImplRet(), YSLib::ValueObject::ImplRet(), ystdex::details::rb_tree::tree< key_type, value_type, first_of<>, key_compare, allocator_type >::insert_equal_lower(), ystdex::details::rb_tree::tree< key_type, value_type, first_of<>, key_compare, allocator_type >::insert_equal_lower_node(), YSLib::UI::TextList::InvalidateSelected2(), platform::IsNodeShared(), NPL::A1::Forms::LoadModule_std_strings(), ystdex::details::rb_tree::tree< key_type, value_type, first_of<>, key_compare, allocator_type >::lower_bound_impl(), ystdex::details::rb_tree::tree< key_type, value_type, first_of<>, key_compare, allocator_type >::lower_bound_link(), ystdex::details::rb_tree::tree< key_type, value_type, first_of<>, key_compare, allocator_type >::lower_bound_tr(), main(), ystdex::path< _tSeqCon, _tTraits >::merge_parents(), ystdex::fixed_point< yimpl(std::uint32_t, 12U)>::mul(), YSLib::operator!=(), platform_ex::operator!=(), ystdex::cpp2017::operator!=(), ystdex::details::tcompare< _tWrappedKey, _fComp, false >::operator()(), ystdex::details::tcompare< _tWrappedKey, _fComp, true >::operator()(), ystdex::is_equal::operator()(), ystdex::delta_assignment< bool, _tScalar1, _tScalar2 >::operator()(), ystdex::delta_assignment< false, _tScalar1, _tScalar2 >::operator()(), YSLib::Drawing::operator+(), ystdex::cpp2017::reverse_iterator< _tIter >::operator-(), YSLib::Drawing::operator-(), ystdex::operator<(), platform_ex::operator<(), ystdex::cpp2017::operator<(), ystdex::operator<<(), ystdex::cpp2017::operator<<(), ystdex::cpp2017::operator<=(), YSLib::operator==(), YSLib::Text::operator==(), ystdex::basic_tstring_view< _tChar, _tTraits, _vTerm >::operator==(), ystdex::operator==(), ystdex::cpp2017::basic_string_view< _tChar, _tTraits >::operator==(), YSLib::Drawing::operator==(), ystdex::cpp2017::optional< _tNodeAlloc >::operator==(), ystdex::cpp2017::operator==(), ystdex::cpp2017::operator>(), ystdex::cpp2017::operator>=(), ystdex::pack_uint(), YSLib::Drawing::PlotHLineSeg(), YSLib::Drawing::RectDrawArrow(), YSLib::Drawing::RectDrawArrowOutline(), YSLib::Drawing::RectDrawCornerArrow(), YSLib::Drawing::RectDrawCornerArrowOutline(), YSLib::UI::HexViewArea::Refresh(), YSLib::Drawing::ScaleMin(), NPL::A1::Forms::SetFirstAt(), NPL::A1::Forms::SetFirstRef(), YSLib::Messaging::swap(), ystdex::details::list_node_base::swap(), YSLib::swap(), ystdex::nptr< link_type >::swap(), ystdex::threading::unique_lock< platform::FileDescriptor >::swap(), ystdex::threading::shared_lock< _tMutex, _bEnableCheck >::swap(), ystdex::cpp2017::swap(), NPL::swap(), ystdex::details::swap_dep_impl::swap_dep(), ystdex::swap_dependent(), ystdex::swap_underlying(), ystdex::swap_volatile(), ystdex::details::rb_tree::tree_insert_and_rebalance(), ystdex::details::rb_tree::tree_rebalance_for_erase(), ystdex::details::rb_tree::tree< key_type, value_type, first_of<>, key_compare, allocator_type >::upper_bound_impl(), ystdex::details::rb_tree::tree< key_type, value_type, first_of<>, key_compare, allocator_type >::upper_bound_link(), ystdex::upper_bound_n(), ystdex::details::rb_tree::tree< key_type, value_type, first_of<>, key_compare, allocator_type >::upper_bound_tr() , 以及 ystdex::vswap().

## ◆ ynothrow

AView& y YSLib::UI::ynothrow

初始值:
{
std::swap(x.ContainerPtr, y.ContainerPtr),
std::swap(x.DependencyPtr, y.DependencyPtr),
std::swap(x.FocusingPtr, y.FocusingPtr)

在文件 YWidgetView.cpp 第 46 行定义.

被这些函数引用 YSLib::UI::TreeList::Bind() , 以及 YSLib::UI::Caret::Caret().

x
const EncapsulationBase & x
Definition: NPLA1Forms.cpp:1536
ystdex::cpp2017::swap
void swap(optional< _type > &x, optional< _type > &y)
Definition: optional.h:888
YF_API
#define YF_API
Definition: Platform.h:56
YSLib::UI::AccessWidget
_tWidget & AccessWidget(ValueNode &node, _tParams &&... args)
Definition: Loader.h:155
YSLib::UI::args
yconstfn const string _tParams && args
Definition: Loader.h:131
YSLib::UI::GetBoundsOf
YB_ATTR_nodiscard YB_PURE pt pt Y YB_ATTR_nodiscard YB_PURE const IWidget &wgt const IWidget &wgt const IWidget &wgt GetBoundsOf
Definition: YWidget.h:172
yforward
#define yforward(_expr)
根据参数类型使用 std::forward 转发对应参数。
Definition: ydef.h:1508
YSLib::UI::name
yconstfn const string & name
Definition: Loader.h:130
CatchThrow
#define CatchThrow(_ex,...)
指定抛出指定异常作为异常处理器。
Definition: YBaseMacro.h:141
YSLib::UI::y
SPos SPos y
Definition: YWidget.cpp:44
YSLib::UI::wgt
IWidget & wgt
Definition: YControl.h:113
ystdex::path_category::node
@ node
TryRet
#define TryRet(...)
指定表达式在 try 块中求值并返回。
Definition: YBaseMacro.h:124
YSLib::AccessNode
YB_ATTR_nodiscard YF_API YB_PURE ValueNode & AccessNode(ValueNode::Container *, const string &)
访问节点。
Definition: ValueNode.cpp:102