YSTest: YSLib::Drawing::Rect类 参考

YSTest PreAlpha_b900_20201012 The YSLib Test Project

Public 成员函数 | Public 属性 | 静态 Public 属性 | 相关函数 | 所有成员列表
YSLib::Drawing::Rect类 参考

屏幕标准矩形：表示屏幕矩形区域。 更多...

`#include <YGDIBase.h>`

类 YSLib::Drawing::Rect 继承关系图:
[图例]
YSLib::Drawing::Rect 的协作图:
[图例]

## Public 成员函数

| DefDeCtor (Rect) explicit yconstfn Rect(const Point &pt) ynothrow
| 无参数构造：默认实现。 更多...
yconstfn | Rect (const Size &s) ynothrow
| 构造：使用 Size 对象。 更多...
yconstfn | Rect (const Point &pt, const Size &s) ynothrow
| 构造：使用屏幕二维点和 Size 对象。 更多...
yconstfn | Rect (const Point &pt, SDst w, SDst h) ynothrow
| 构造：使用屏幕二维点和表示长宽的两个 SDst 值。 更多...
yconstfn | Rect (SPos x, SPos y, const Size &s) ynothrow
| 构造：使用表示位置的两个 SPos 值和 Size 对象。 更多...
yconstfn | Rect (SPos x, SPos y, SDst w, SDst h) ynothrow
| 构造：使用表示位置的两个 SPos 值和表示大小的两个 SDst 值。 更多...
yconstfn | DefDeCopyCtor (Rect) DefDeCopyAssignment(Rect) Rect &operator
| 复制构造：默认实现。 更多...
Rect & | operator|= (const Rect &) ynothrow
| 求与另一个屏幕标准矩形的并。 更多...
YB_ATTR_nodiscard YB_PURE bool | Contains (SPos px, SPos py) const ynothrow
| 判断点 (px, py) 是否在矩形内或边上。 更多...
YB_ATTR_nodiscard YB_PURE | PDefH (bool, Contains, const Point &pt) const ynothrow ImplRet(Contains(pt.X
| 判断点 pt 是否在矩形内或边上。 更多...
YB_ATTR_nodiscard YB_PURE pt Y YB_ATTR_nodiscard YB_PURE bool | Contains (const Rect &) const ynothrow
| 判断矩形是否在矩形内或边上。 更多...
YB_ATTR_nodiscard YB_PURE bool | ContainsStrict (SPos px, SPos py) const ynothrow
| 判断点 (px, py) 是否在矩形内。 更多...
YB_ATTR_nodiscard YB_PURE | PDefH (bool, ContainsStrict, const Point &pt) const ynothrow ImplRet(ContainsStrict(pt.X
| 判断点 pt 是否在矩形内。 更多...
YB_ATTR_nodiscard YB_PURE pt Y YB_ATTR_nodiscard YB_PURE bool | ContainsStrict (const Rect &) const ynothrow
| 判断矩形是否在矩形内或边上。 更多...
yconstfn | DefGetter (const ynothrow, SPos, Bottom, Y+SPos(Height)) yconstfn DefGetter(const ynothrow
| 取左上角位置。 更多...
yconstfn const Point static_cast< const Point & > this | DefGetter (ynothrow, Point &, PointRef, static_cast< Point & >(*this)) yconstfn DefGetter(const ynothrow
| 取左上角位置引用。 更多...
yconstfn const Point static_cast< const Point & > this X | SPos (Width)) yconstfn DefGetter(const ynothrow
| 取大小。 更多...

## Public 属性

yconstfn const Point | Point
yconstfn const Point static_cast< const Point & > this | SPos
yconstfn const Point static_cast< const Point & > this | Right
yconstfn const Point static_cast< const Point & > this X const Size | Size
SDst | Width
| 长。 更多...
SDst | Height
| 宽。 更多...

## 静态 Public 属性

static const Rect | Invalid
| 无效对象。 更多...

## 相关函数

(请注意: 这些不是成员函数.)
#define | PDefHOp(_t, _op, ...) PDefH(_t, operator _op, __VA_ARGS__)
| 比较：屏幕标准矩形相等关系。 更多...
相关函数 继承自 YSLib::Drawing::Size
#define | PDefHOp(_t, _op, ...) PDefH(_t, operator _op, __VA_ARGS__)
| 比较：屏幕区域大小相等关系。 更多...

## 额外继承的成员函数

Private 成员函数 继承自 YSLib::Drawing::GBinaryGroup< _type >
yconstfn | DefDeCtor (GBinaryGroup) yconstfn DefDeCopyCtor(GBinaryGroup) explicit yconstfn GBinaryGroup(const Size &) ynothrow
| 无参数构造。 更多...
yconstfn | GBinaryGroup (const Rect &) ynothrow
| 构造：使用 Rect 对象。 更多...
template<typename _tScalar1 , typename _tScalar2 >
yconstfn | GBinaryGroup (_tScalar1 x, _tScalar2 y) ynothrow
| 构造：使用两个纯量。 更多...
template<typename _tPair >
yconstfn | GBinaryGroup (const _tPair &pr) ynothrow
| 构造：使用纯量对。 更多...
| DefDeCopyAssignment (GBinaryGroup) YB_ATTR_nodiscard YB_PURE yconstfn PDefHOp(GBinaryGroup
| 负运算：取加法逆元。 更多...
const ynothrow | ImplRet (GBinaryGroup(-X, -Y)) PDefHOp(GBinaryGroup &
| 加法赋值。 更多...
const ynothrow const GBinaryGroup &val ynothrow | ImplRet (yunseq(X+=val.X, Y+=val.Y), *this) PDefHOp(GBinaryGroup &
| 减法赋值。 更多...
const ynothrow const GBinaryGroup &val ynothrow const GBinaryGroup &val ynothrow | ImplRet (yunseq(X -=val.X, Y -=val.Y), *this) yconstfn DefGetter(const ynothrow
const ynothrow const GBinaryGroup &val ynothrow const GBinaryGroup &val ynothrow X yconstfn | DefGetter (const ynothrow, _type, Y, Y) DefSetter(
const ynothrow const GBinaryGroup &val ynothrow const GBinaryGroup &val ynothrow X yconstfn X | DefSetter (, _type, Y, Y) yconstfn DefPred(const ynothrow
| 判断是否是零元素。 更多...
Private 成员函数 继承自 YSLib::Drawing::Size
yconstfn | Size () ynothrow
| 无参数构造。 更多...
yconstfn | Size (const Size &s) ynothrow
| 复制构造。 更多...
yconstfn | Size (const Rect &) ynothrow
| 构造：使用 Rect 对象。 更多...
template<typename _type >
yconstfn | Size (const GBinaryGroup< _type > &val) ynothrow
| 构造：使用屏幕二元组。 更多...
template<typename _tScalar1 , typename _tScalar2 >
yconstfn | Size (_tScalar1 w, _tScalar2 h) ynothrow
| 构造：使用两个纯量。 更多...
| DefDeCopyAssignment (Size) yconstfn DefBoolNeg(explicit yconstfn
| 判断是否为空或非空。 更多...
Private 属性 继承自 YSLib::Drawing::GBinaryGroup< _type >
_type | X = 0
| 分量。 更多...
_type | Y = 0
const ynothrow const GBinaryGroup &val ynothrow const GBinaryGroup &val ynothrow | _type
const ynothrow const GBinaryGroup &val ynothrow const GBinaryGroup &val ynothrow | X
const ynothrow const GBinaryGroup &val ynothrow const GBinaryGroup &val ynothrow X yconstfn | _type
const ynothrow const GBinaryGroup &val ynothrow const GBinaryGroup &val ynothrow X yconstfn | X
const ynothrow const GBinaryGroup &val ynothrow const GBinaryGroup &val ynothrow X yconstfn X | Zero
Private 属性 继承自 YSLib::Drawing::Size
SDst | Width
| 宽和高。 更多...
SDst | Height
静态 Private 属性 继承自 YSLib::Drawing::GBinaryGroup< _type >
static const GBinaryGroup | Invalid
| 无效（不在屏幕坐标系中）对象。 更多...
静态 Private 属性 继承自 YSLib::Drawing::Size
static const Size | Invalid
| 无效对象。 更多...

## 详细描述

屏幕标准矩形：表示屏幕矩形区域。

注解
  边平行于水平直线；使用左上点屏幕坐标、宽和高表示。

警告
  非虚析构。

自从
  build 161

在文件 YGDIBase.h 第 786 行定义.

## 构造及析构函数说明

## ◆ Rect() [1/5]

yconstfn YSLib::Drawing::Rect::Rect | ( | const Size & | s | ) |

inline

构造：使用 Size 对象。

自从
  build 399

在文件 YGDIBase.h 第 840 行定义.

## ◆ Rect() [2/5]

yconstfn YSLib::Drawing::Rect::Rect | ( | const Point & | pt,
|  | const Size & | s
| ) |  |

inline

构造：使用屏幕二维点和 Size 对象。

自从
  build 319

在文件 YGDIBase.h 第 848 行定义.

## ◆ Rect() [3/5]

yconstfn YSLib::Drawing::Rect::Rect | ( | const Point & | pt,
|  | SDst | w,
|  | SDst | h
| ) |  |

inline

构造：使用屏幕二维点和表示长宽的两个 SDst 值。

自从
  build 319

在文件 YGDIBase.h 第 856 行定义.

## ◆ Rect() [4/5]

yconstfn YSLib::Drawing::Rect::Rect | ( | SPos | x,
|  | SPos | y,
|  | const Size & | s
| ) |  |

inline

构造：使用表示位置的两个 SPos 值和 Size 对象。

自从
  build 319

在文件 YGDIBase.h 第 864 行定义.

## ◆ Rect() [5/5]

yconstfn YSLib::Drawing::Rect::Rect | ( | SPos | x,
|  | SPos | y,
|  | SDst | w,
|  | SDst | h
| ) |  |

inline

构造：使用表示位置的两个 SPos 值和表示大小的两个 SDst 值。

自从
  build 319

在文件 YGDIBase.h 第 872 行定义.

## 成员函数说明

## ◆ Contains() [1/2]

bool YSLib::Drawing::Rect::Contains | ( | const Rect & | r | ) | const

判断矩形是否在矩形内或边上。

注解
  空矩形总是不被包含。

自从
  build 319

在文件 YGDIBase.cpp 第 96 行定义.

引用了 YSLib::Drawing::IsUnstrictlyEmpty() , 以及 YSLib::Drawing::r.

函数调用图:

## ◆ Contains() [2/2]

bool YSLib::Drawing::Rect::Contains | ( | SPos | px,
|  | SPos | py
| ) |  | const

判断点 (px, py) 是否在矩形内或边上。

自从
  build 528

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

引用了 YSLib::Drawing::IsUnstrictlyEmpty().

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

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

## ◆ ContainsStrict() [1/2]

bool YSLib::Drawing::Rect::ContainsStrict | ( | const Rect & | r | ) | const

判断矩形是否在矩形内或边上。

注解
  空矩形总是不被包含。

自从
  build 319

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

引用了 YSLib::Drawing::r.

## ◆ ContainsStrict() [2/2]

bool YSLib::Drawing::Rect::ContainsStrict | ( | SPos | px,
|  | SPos | py
| ) |  | const

判断点 (px, py) 是否在矩形内。

自从
  build 528

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

## ◆ DefDeCopyCtor()

yconstfn YSLib::Drawing::Rect::DefDeCopyCtor | ( | Rect |  | ) | &

复制构造：默认实现。

自从
  build 319

引用了 YSLib::Drawing::GBinaryGroup< _type >::X, YSLib::Drawing::GBinaryGroup< _type >::Y , 以及 yunseq.

## ◆ DefDeCtor()

YSLib::Drawing::Rect::DefDeCtor | ( | Rect |  | ) | const &

inline

无参数构造：默认实现。

自从
  build 453

构造：使用屏幕二维点。

自从
  build 319

在文件 YGDIBase.h 第 826 行定义.

## ◆ DefGetter() [1/2]

yconstfn YSLib::Drawing::Rect::DefGetter | ( | const | ynothrow,
|  | SPos | ,
|  | Bottom | ,
|  | Y+ | SPosHeight
| ) |  | const

取左上角位置。

自从
  build 588

## ◆ DefGetter() [2/2]

yconstfn const Point static_cast<const Point&> this YSLib::Drawing::Rect::DefGetter | ( | ynothrow | ,
|  | Point & | ,
|  | PointRef | ,
|  | static_cast< Point & > * | this
| ) |  | const

取左上角位置引用。

自从
  build 296
  build 588

## ◆ operator|=()

Rect & YSLib::Drawing::Rect::operator|= | ( | const Rect & | r | ) |

求与另一个屏幕标准矩形的并。

注解
  结果为包含两个参数中的最小矩形。

自从
  build 320

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

引用了 ystdex::cpp2014::max(), ystdex::cpp2014::min(), YSLib::Drawing::r, YSLib::Drawing::SPos(), platform::KeyCodes::DS::X , 以及 platform::KeyCodes::DS::Y.

函数调用图:

## ◆ PDefH() [1/2]

YB_ATTR_nodiscard YB_PURE YSLib::Drawing::Rect::PDefH | ( | bool | ,
|  | Contains | ,
|  | const Point & | pt
| ) |  | const

判断点 pt 是否在矩形内或边上。

自从
  build 319

## ◆ PDefH() [2/2]

YB_ATTR_nodiscard YB_PURE YSLib::Drawing::Rect::PDefH | ( | bool | ,
|  | ContainsStrict | ,
|  | const Point & | pt
| ) |  | const

判断点 pt 是否在矩形内。

自从
  build 319

## ◆ SPos()

yconstfn const Point static_cast<const Point&> this X YSLib::Drawing::Rect::SPos | ( | Width |  | ) | const

取大小。

## 友元及相关函数文档

## ◆ PDefHOp

#define PDefHOp | ( |  | _t,
|  |  | _op,
|  |  | ...
| ) |  | PDefH(_t, operator _op, __VA_ARGS__)

related

比较：屏幕标准矩形相等关系。

自从
  build 319

## 类成员变量说明

## ◆ Height

SDst YSLib::Drawing::Size::Height

宽。

参见
  Size::Height

自从
  build 296

在文件 YGDIBase.h 第 545 行定义.

被这些函数引用 YSLib::UI::ParseRect(), YSLib::Drawing::PlotHLineSeg(), YSLib::UI::TextList::Refresh() , 以及 YSLib::UI::BorderResizer::Wrap().

## ◆ Invalid

const Rect YSLib::Drawing::Rect::Invalid

static

无效对象。

自从
  build 296

在文件 YGDIBase.h 第 794 行定义.

## ◆ Point

yconstfn const Point YSLib::Drawing::Rect::Point

在文件 YGDIBase.h 第 985 行定义.

## ◆ Right

yconstfn const Point static_cast<const Point&> this YSLib::Drawing::Rect::Right

在文件 YGDIBase.h 第 994 行定义.

## ◆ Size

yconstfn const Point static_cast<const Point&> this X const Size YSLib::Drawing::Rect::Size

在文件 YGDIBase.h 第 998 行定义.

## ◆ SPos

yconstfn const Point static_cast<const Point&> this YSLib::Drawing::Rect::SPos

在文件 YGDIBase.h 第 994 行定义.

## ◆ Width

SDst YSLib::Drawing::Size::Width

长。

参见
  Size::Width

自从
  build 296

在文件 YGDIBase.h 第 545 行定义.

被这些函数引用 YSLib::UI::ParseRect(), YSLib::Drawing::PlotHLineSeg(), YSLib::Drawing::PlotVLineSeg() , 以及 YSLib::UI::BorderResizer::Wrap().

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

- YGDIBase.h
- YGDIBase.cpp