YSTest: YSLib::UI::BorderResizer类 参考

YSTest PreAlpha_b700_20160611 The YSLib Test Project

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

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

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

调整大小的边框。 更多...

`#include <Border.h>`

YSLib::UI::BorderResizer 的协作图:
[图例]

## Public 类型

using | Area = pair< BorderArea, BorderArea >
| 区域类型。 更多...

## Public 成员函数

| BorderResizer (IWidget &wgt, size_t w=4, const Size &min_size={})
| DefGetter (const ynothrow, IWidget &, WidgetRef, widget) Area CheckArea(const Point &)
| 检查相对部件点指定区域。 更多...

## Public 属性

bool | RootMode = {}
| 根模式：指定部件为通过外部接口和宿主交互的顶层部件。 更多...
Drawing::Padding | Margin
| 指定边框相对部件边界以内的范围的边距。 更多...
Size | MinSize
| 指定部件应该保持的最小大小。 更多...

## Private 成员函数

void | Wrap ()
| 加载事件。 更多...

## Private 属性

Point | orig_loc {Point::Invalid}
Rect | locked_bounds {}
| 锁定的部件边界。 更多...
Area | focused {BorderArea::Center, BorderArea::Center}
lref< IWidget > | widget

## 详细描述

调整大小的边框。

注解
  使用相对指定部件的坐标系。

自从
  build 444

当接触点位于 Margin 指定的边界上时 TouchHeld 使用 SetBoundsOf 按内部状态调整大小 （满足大小不小于MinSize ）并引起 Move 和 Resize 事件。

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

## 成员类型定义说明

using YSLib::UI::BorderResizer::Area = pair<BorderArea, BorderArea>

区域类型。

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

## 构造及析构函数说明

YSLib::UI::BorderResizer::BorderResizer | ( | IWidget & | wgt,
|  | size_t | w = `4`,
|  | const Size & | min_size = `{}`
| ) |  |

inline

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

## 成员函数说明

YSLib::UI::BorderResizer::DefGetter | ( | const ynothrow | ,
|  | IWidget & | ,
|  | WidgetRef | ,
|  | widget |
| ) |  | const

检查相对部件点指定区域。

void YSLib::UI::BorderResizer::Wrap | ( |  | ) |

private

加载事件。

注解
  优先级 E0 。

在文件 Border.cpp 第 80 行定义.

参考 YSLib::Drawing::bounds, NPL::c_str(), YSLib::UI::Center, YSLib::UI::RoutedEventArgs::Direct, YSLib::UI::Down, YSLib::UI::e, YSLib::UI::FetchGUIState(), focused, ystdex::lref< _type >::get(), YSLib::UI::GetBoundsOf, YSLib::Drawing::Size::Height, YSLib::Drawing::GBinaryGroup< SPos >::Invalid, YSLib::UI::InvalidateParent(), YSLib::UI::Left, locked_bounds, MinSize, platform::Descriptions::Notice, orig_loc, YSLib::UI::Right, RootMode, YSLib::UI::SetBoundsOf(), YSLib::UI::SPos, ystdex::to_string(), YSLib::UI::Up, widget, YSLib::Drawing::Size::Width, YSLib::Drawing::GBinaryGroup< _type >::X, YSLib::Drawing::GBinaryGroup< _type >::Y, YTraceDe , 以及 yunseq.

函数调用图:

## 类成员变量说明

Area YSLib::UI::BorderResizer::focused {BorderArea::Center, BorderArea::Center}

private

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

参考自 Wrap().

Rect YSLib::UI::BorderResizer::locked_bounds {}

private

锁定的部件边界。

注解
  以此为基准调整部件的新的位置和大小。

自从
  build 445

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

参考自 Wrap().

Drawing::Padding YSLib::UI::BorderResizer::Margin

指定边框相对部件边界以内的范围的边距。

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

Size YSLib::UI::BorderResizer::MinSize

指定部件应该保持的最小大小。

警告
  若小于边框范围（边框重叠）则不保证通过边框调整大小的行为确定。

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

参考自 Wrap().

Point YSLib::UI::BorderResizer::orig_loc {Point::Invalid}

private

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

参考自 Wrap().

bool YSLib::UI::BorderResizer::RootMode = {}

根模式：指定部件为通过外部接口和宿主交互的顶层部件。

注解
  部件的实际位置需要另行修正。

自从
  build 571

指定部件是否在设置边界后同时调整锁定的边界位置。

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

参考自 Wrap().

lref<IWidget> YSLib::UI::BorderResizer::widget

private

自从
  build 554

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

参考自 Wrap().

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

- Border.h
- Border.cpp