C
RectF 类
class Qul::PlatformInterface::RectFThe RectF class defines a rectangle in the plane using floating point precision. 更多...
头文件 | #include <platforminterface/rect.h> |
自从 | Qt Quick Ultralite (平台) 1.5 |
公共函数
RectF(const Qul::PlatformInterface::Rect &rectangle) | |
RectF(float x, float y, float width, float height) | |
RectF(const Qul::PlatformInterface::PointF &topLeft, const Qul::PlatformInterface::PointF &bottomRight) | |
RectF(const Qul::PlatformInterface::PointF &topLeft, const Qul::PlatformInterface::SizeF &size) | |
RectF() | |
void | adjust(float dx1, float dy1, float dx2, float dy2) |
Qul::PlatformInterface::RectF | adjusted(float dx1, float dy1, float dx2, float dy2) const |
float | bottom() const |
Qul::PlatformInterface::PointF | bottomLeft() const |
Qul::PlatformInterface::PointF | bottomRight() const |
Qul::PlatformInterface::PointF | center() const |
bool | contains(const Qul::PlatformInterface::RectF &rectangle) const |
bool | contains(const Qul::PlatformInterface::PointF &point) const |
bool | contains(float x, float y) const |
void | getCoords(float *x1, float *y1, float *x2, float *y2) const |
void | getRect(float *x, float *y, float *width, float *height) const |
float | height() const |
Qul::PlatformInterface::RectF | intersected(const Qul::PlatformInterface::RectF &rectangle) const |
bool | intersects(const Qul::PlatformInterface::RectF &rectangle) const |
bool | isEmpty() const |
bool | isNull() const |
bool | isValid() const |
float | left() const |
void | moveBottom(float y) |
void | moveBottomLeft(const Qul::PlatformInterface::PointF &position) |
void | moveBottomRight(const Qul::PlatformInterface::PointF &position) |
void | moveCenter(const Qul::PlatformInterface::PointF &position) |
void | moveLeft(float x) |
void | moveRight(float x) |
void | moveTo(float x, float y) |
void | moveTo(const Qul::PlatformInterface::PointF &position) |
void | moveTop(float y) |
void | moveTopLeft(const Qul::PlatformInterface::PointF &position) |
void | moveTopRight(const Qul::PlatformInterface::PointF &position) |
Qul::PlatformInterface::RectF | normalized() const |
float | right() const |
void | setBottom(float y) |
void | setBottomLeft(const Qul::PlatformInterface::PointF &position) |
void | setBottomRight(const Qul::PlatformInterface::PointF &position) |
void | setCoords(float x1, float y1, float x2, float y2) |
void | setHeight(float height) |
void | setLeft(float x) |
void | setRect(float x, float y, float width, float height) |
void | setRight(float x) |
void | setSize(const Qul::PlatformInterface::SizeF &size) |
void | setTop(float y) |
void | setTopLeft(const Qul::PlatformInterface::PointF &position) |
void | setTopRight(const Qul::PlatformInterface::PointF &position) |
void | setWidth(float width) |
void | setX(float x) |
void | setY(float y) |
Qul::PlatformInterface::SizeF | size() const |
Qul::PlatformInterface::Rect | toAlignedRect() const |
Qul::PlatformInterface::Rect | toRect() const |
float | top() const |
Qul::PlatformInterface::PointF | topLeft() const |
Qul::PlatformInterface::PointF | topRight() const |
void | translate(float dx, float dy) |
void | translate(const Qul::PlatformInterface::PointF &offset) |
Qul::PlatformInterface::RectF | translated(float dx, float dy) const |
Qul::PlatformInterface::RectF | translated(const Qul::PlatformInterface::PointF &offset) const |
Qul::PlatformInterface::RectF | transposed() const |
Qul::PlatformInterface::RectF | united(const Qul::PlatformInterface::RectF &rectangle) const |
float | width() const |
float | x() const |
float | y() const |
Qul::PlatformInterface::RectF | operator&(const Qul::PlatformInterface::RectF &rectangle) const |
Qul::PlatformInterface::RectF & | operator&=(const Qul::PlatformInterface::RectF &rectangle) |
Qul::PlatformInterface::RectF | operator|(const Qul::PlatformInterface::RectF &rectangle) const |
Qul::PlatformInterface::RectF & | operator|=(const Qul::PlatformInterface::RectF &rectangle) |
相关非成员函数
bool | 非成员operator!=(const Qul::PlatformInterface::RectF &r1, const Qul::PlatformInterface::RectF &r2) |
bool | operator==(const Qul::PlatformInterface::RectF &r1, const Qul::PlatformInterface::RectF &r2) |
详细描述
矩形通常用顶点坐标和尺寸来表示。RectF 的尺寸(宽度和高度)始终等同于构成其渲染基础的数学矩形。
RectF 可以使用一组左、上、宽和高坐标构造,或者从一个 PointF 和一个 SizeF 构造。
还有一个第三个构造函数,从一个 Rect 创建一个 RectF,并有一个相应的 toRect() 函数,该函数根据这个矩形的值返回一个 Rect 对象(注意,返回矩形的坐标会被四舍五入到最近的整数)。
RectF 类提供了一组返回各种矩形坐标并使这些坐标可修改的函数。RectF 还提供了使矩形相对于各种坐标移动的函数。此外还有 moveTo() 函数,该函数移动矩形,使其左上角位于指定的坐标。或者,translate() 函数根据当前位置移动矩形,translated() 函数返回该矩形的平移副本。
size() 函数返回矩形的大小作为一个 SizeF。也可使用 width() 和 height() 函数单独检索尺寸。要修改尺寸,请使用 setSize()、setWidth() 或 setHeight() 函数。或者,可以通过设置矩形的坐标来更改尺寸,例如,使用 setBottom() 或 setRight() 函数。
contains() 函数指示特定点是否在矩形内,intersects() 函数如果此矩形与给定矩形相交(否则返回false),则返回 true
。RectF 类还提供了 intersected() 函数,该函数返回交错的矩形,以及united() 函数,该函数返回包含给定矩形和此 intersected 的矩形。
isEmpty() 函数如果矩形的宽度或高度小于或等于0,则返回 true
。注意,空矩形不是有效的:如果两者的宽度和高度都大于0,isValid() 函数返回 true
。另一方面,null 矩形(isNull() == true)的宽度和高度都设置为0。
请注意,由于 Rect 和 RectF 的定义方式,空的 RectF 在本质上与 Rect 定义相同。
RectF 对象可以进行比较。
坐标
RectF类提供了一组返回各种矩形坐标并允许操作这些坐标的函数。RectF还提供了一组函数来相对各种坐标移动矩形。
例如:bottom(),setBottom() 和 moveBottom() 函数: bottom() 返回矩形底边的y坐标,setBottom() 将矩形的底边设置为给定的y坐标(可能改变高度,但永远不会改变矩形的顶部边)和 moveBottom() 将整个矩形垂直移动,使矩形的底边位于给定的y坐标,并保持大小不变。
还可以使用adjust() 函数为此矩形的坐标添加偏移量,以及使用 adjusted() 函数根据原始矩形的调整创建一个新的矩形。如果宽度和高度中的任何一个为负数,请使用normalized() 函数检索角落互换的矩形。
此外,RectF提供了getCoords() 函数,用于提取矩形左上角和右下角的位置,以及getRect() 函数,用于提取矩形的左上角、宽度和高度。使用setCoords() 和 setRect() 函数一次性操作矩形的坐标和维度。
另请参阅Rect。
成员函数文档
RectF::RectF(const Qul::PlatformInterface::Rect &rectangle)
从给定的Rect rectangle 构造RectF矩形。
另请参阅toRect。
RectF::RectF(float x, float y, float width, float height)
以 (x,y)作为其右上角并具有给定的 width 和 height 构造矩形。
另请参阅setRect。
RectF::RectF(const Qul::PlatformInterface::PointF &topLeft, const Qul::PlatformInterface::PointF &bottomRight)
以给定的 topLeft 和 bottomRight角落构造矩形。
另请参阅setTopLeft() 和 setBottomRight。
RectF::RectF(const Qul::PlatformInterface::PointF &topLeft, const Qul::PlatformInterface::SizeF &size)
以给定的 topLeft角落和给定的 size 构造矩形。
另请参阅setTopLeft() 和 setSize。
RectF::RectF()
构造一个空矩形。
另请参阅isNull。
void RectF::adjust(float dx1, float dy1, float dx2, float dy2)
将dx1、dy1、dx2和dy2分别添加到矩形的现有坐标中。
Qul::PlatformInterface::RectF RectF::adjusted(float dx1, float dy1, float dx2, float dy2) const
返回一个新矩形,其中分别将dx1、dy1、dx2和dy2添加到此矩形的现有坐标中。
另请参阅 adjust。
float RectF::bottom() const
返回矩形底部边的y坐标。
另请参阅 setBottom()、bottomLeft()和bottomRight。
Qul::PlatformInterface::PointF RectF::bottomLeft() const
返回矩形的左下角位置。
另请参阅 setBottomLeft()、bottom()和left。
Qul::PlatformInterface::PointF RectF::bottomRight() const
返回矩形的右下角位置。
另请参阅 setBottomRight()、bottom()和right。
Qul::PlatformInterface::PointF RectF::center() const
返回矩形的中心点。
另请参阅 moveCenter。
bool RectF::contains(const Qul::PlatformInterface::RectF &rectangle) const
这是一个重载函数。
如果给定的rectangle在此矩形内部,则返回true
;否则返回false
。
bool RectF::contains(const Qul::PlatformInterface::PointF &point) const
这是一个重载函数。
如果给定的point在矩形内部或其边缘上,则返回true
;否则返回false
。
另请参阅 intersects。
bool RectF::contains(float x, float y) const
这是一个重载函数。
如果点(x,y)在矩形内部或其边缘上,则返回true
;否则返回false
。
void RectF::getCoords(float *x1, float *y1, float *x2, float *y2) const
提取矩形左上角的位置到*x1*和*y1*,以及右下角的位置到*x2*和*y2*。
另见setCoords()和getRect。
void RectF::getRect(float *x, float *y, float *width, float *height) const
提取矩形左上角的位置到*x*和*y*,以及其宽度和高度到*width*和*height*。
另见setRect()和getCoords。
float RectF::height() const
返回矩形的宽度。
另见setHeight(),width()和size。
Qul::PlatformInterface::RectF RectF::intersected(const Qul::PlatformInterface::RectF &rectangle) const
返回此矩形与给定矩形的交集。注意,r.intersected(s)与r & s等价。
另见intersects(),united()和operator &=。
bool RectF::intersects(const Qul::PlatformInterface::RectF &rectangle) const
如果此矩形与给定矩形重叠(即将它们之间的非空区域),则返回true
,否则返回false
。
可以使用intersected()函数检索交集矩形。
另见contains。
bool RectF::isEmpty() const
如果矩形为空,则返回true
,否则返回false
。
一个空的矩形具有width() <= 0 或 height() <= 0。一个空的矩形不是有效的(即 isEmpty() == !isValid())。)
使用normalized()函数可以检索一个角落对换的矩形。
另见isNull(),isValid()和normalized。
bool RectF::isNull() const
如果矩形是空矩形,则返回true
,否则返回false
。
空矩形将宽度和高度都设置为0。空矩形也是空的,因此不是有效的。
另见isEmpty()和isValid。
bool RectF::isValid() const
如果矩形有效,则返回true
,否则返回false
。
一个有效的矩形具有宽width() > 0 和高height() > 0。注意,对于无效矩形,非平凡操作(如交集)未定义。有效矩形不为空(即isValid() == !isEmpty())。
另请参阅isNull(),isEmpty()和normalized()。
float RectF::left() const
返回矩形的左边缘的x坐标。等同于x()。
另请参阅setLeft(),topLeft()和bottomLeft()。
void RectF::moveBottom(float y)
垂直移动矩形,使矩形的底部边缘位于给定的y坐标。矩形的尺寸不变。
另请参阅bottom(),setBottom()和moveTop()。
void RectF::moveBottomLeft(const Qul::PlatformInterface::PointF &position)
移动矩形,使矩形的左下角位于给定的position。矩形的尺寸不变。
另请参阅setBottomLeft(),moveBottom()和moveLeft()。
void RectF::moveBottomRight(const Qul::PlatformInterface::PointF &position)
移动矩形,使矩形的右下角位于给定的position。矩形的尺寸不变。
另请参阅setBottomRight(),moveBottom()和moveRight()。
void RectF::moveCenter(const Qul::PlatformInterface::PointF &position)
移动矩形,使矩形中心位于给定的position。矩形的尺寸不变。
另请参阅center()。
void RectF::moveLeft(float x)
水平移动矩形,使矩形的左边缘位于给定的x坐标。矩形的尺寸不变。
另请参阅left(),setLeft()和moveRight()。
void RectF::moveRight(float x)
水平移动矩形,使矩形的右边缘位于给定的x坐标。矩形的尺寸不变。
另请参阅right(),setRight()和moveLeft()。
void RectF::moveTo(float x, float y)
这是一个重载函数。
移动矩形,使左上角位于指定的位置(x,y)。矩形的尺寸保持不变。
参阅translate() 和 moveTopLeft。
void RectF::moveTo(const Qul::PlatformInterface::PointF &position)
这是一个重载函数。
移动矩形,使左上角位于指定的 位置。
void RectF::moveTop(float y)
垂直移动矩形,使矩形的顶部边界位于给定的 y 坐标。矩形的尺寸保持不变。
参阅top,setTop 和 moveBottom。
void RectF::moveTopLeft(const Qul::PlatformInterface::PointF &position)
移动矩形,使左上角位于指定的 位置。矩形的尺寸保持不变。
参阅setTopLeft,moveTop 和 moveLeft。
void RectF::moveTopRight(const Qul::PlatformInterface::PointF &position)
移动矩形,使右上角位于指定的 位置。矩形的尺寸保持不变。
参阅setTopRight,moveTop 和 moveRight。
Qul::PlatformInterface::RectF RectF::normalized() const
返回规范化矩形;即一个拥有非负宽度和高度的矩形。
如果 width() < 0,则函数交换左右边界,如果 height() < 0,则还交换上下边界。
float RectF::right() const
返回矩形右边的 x 坐标。
参阅setRight,topRight 和 bottomRight。
void RectF::setBottom(float y)
将矩形的底部边缘设置为给定的 y 坐标。可能改变高度,但绝不会改变矩形的顶部边缘。
参阅bottom 和 moveBottom。
void RectF::setBottomLeft(const Qul::PlatformInterface::PointF &position)
将矩形的左下角设置为给定的 位置。可能改变大小,但绝不会改变矩形的右上角。
参阅bottomLeft 和 moveBottomLeft。
void RectF::setBottomRight(const Qul::PlatformInterface::PointF &position)
将矩形的右下角设置为指定的position。可能会改变矩形的尺寸,但永远不会改变左上角。
另请参阅bottomRight() 和 moveBottomRight。
void RectF::setCoords(float x1, float y1, float x2, float y2)
将矩形的左上角坐标设置为 (x1, y1),并将其右下角坐标设置为 (x2, y2)。
void RectF::setHeight(float height)
将矩形的宽度设置为指定的height。将改变底部边缘,但不会改变顶部边缘。
void RectF::setLeft(float x)
将矩形的左边设置为给定的x坐标。可能会改变长宽,但永远不会改变右边。
等同于setX。
void RectF::setRect(float x, float y, float width, float height)
将矩形的左上角坐标设置为 (x, y),并将其大小设置为给定的width 和 height。
void RectF::setRight(float x)
将矩形的右边设置为给定的x坐标。可能会改变长宽,但永远不会改变左边。
void RectF::setSize(const Qul::PlatformInterface::SizeF &size)
将矩形的大小设置为给定的size。左上角不会移动。
另请参阅size,setWidth 和 setHeight。
void RectF::setTop(float y)
将矩形的顶边设置为给定的y坐标。可能会改变高度,但永远不会改变底部边缘。
等同于setY。
void RectF::setTopLeft(const Qul::PlatformInterface::PointF &position)
将矩形的左上角设置为指定的 position。可能改变大小,但绝不会改变矩形的右下角。
另请参阅topLeft() 和 moveTopLeft().
void RectF::setTopRight(const Qul::PlatformInterface::PointF &position)
将矩形的右上角设置为指定的 position。可能改变大小,但绝不会改变矩形的左下角。
另请参阅topRight() 和 moveTopRight().
void RectF::setWidth(float width)
将矩形的宽度设置为指定的 width。右边界会改变,但左边界不会。
void RectF::setX(float x)
将矩形的左边设置为给定的x坐标。可能会改变长宽,但永远不会改变右边。
等同于 setLeft().
另请参阅x(),setY(),和 setTopLeft().
void RectF::setY(float y)
将矩形的顶边设置为给定的y坐标。可能会改变高度,但永远不会改变底部边缘。
等同于 setTop().
另请参阅y(),setX(),和 setTopLeft().
Qul::PlatformInterface::SizeF RectF::size() const
返回矩形的尺寸。
另请参阅setSize(),width(),和 height().
Qul::PlatformInterface::Rect RectF::toAlignedRect() const
根据本矩形的值返回一个 Rect,这是包含此矩形的可能的最小整数矩形。
另请参阅toRect。
Qul::PlatformInterface::Rect RectF::toRect() const
根据本矩形的值返回一个 Rect。注意返回矩形中的坐标会被四舍五入到最接近的整数。
另请参阅RectF() 和 toAlignedRect().
float RectF::top() const
返回矩形顶部边界的 y 坐标。等同于 y().
另请参阅setTop(),topLeft(),和 topRight().
Qul::PlatformInterface::PointF RectF::topLeft() const
返回矩形左上角的位置。
另请参阅 setTopLeft(),top() 以及 left()。
Qul::PlatformInterface::PointF RectF::topRight() const
返回矩形的右上角位置。
另请参阅 setTopRight(),top() 以及 right()。
void RectF::translate(float dx, float dy)
这是一个重载函数。
相对于当前位置沿 x 轴移动矩形的 dx,沿 y 轴移动矩形的 dy。正值将矩形向右下方移动。
另请参阅 moveTopLeft(),moveTo() 以及 translated()。
void RectF::translate(const Qul::PlatformInterface::PointF &offset)
这是一个重载函数。
将矩形沿 x 轴和 y 轴移至 offset 的位置。
Qul::PlatformInterface::RectF RectF::translated(float dx, float dy) const
这是一个重载函数。
返回一个新的矩形副本,其沿 x 轴和 y 轴移动 dx 和 dy,相对于当前位置。正值将矩形向右下方移动。
另请参阅 translate()。
Qul::PlatformInterface::RectF RectF::translated(const Qul::PlatformInterface::PointF &offset) const
这是一个重载函数。
返回一个新的矩形副本,其沿 x 轴和 y 轴移动 offset 的位置。
Qul::PlatformInterface::RectF RectF::transposed() const
返回一个新矩形副本,其宽度和高度已交换。
另请参阅 SizeF::transposed()。
Qul::PlatformInterface::RectF RectF::united(const Qul::PlatformInterface::RectF &rectangle) const
返回此矩形与给定 rectangle 的包容矩形。
另请参阅 intersected()。
float RectF::width() const
返回矩形的宽度。
另请参阅 setWidth(),height() 以及 size()。
float RectF::x() const
返回矩形左侧的x坐标。等同于 left().
float RectF::y() const
返回矩形顶端的y坐标。等同于 top().
Qul::PlatformInterface::RectF RectF::operator&(const Qul::PlatformInterface::RectF &rectangle) const
返回此矩形和给定rectangle的交集。如果没有交集,返回空矩形。
另请参阅operator&=() 和 intersected().
Qul::PlatformInterface::RectF &RectF::operator&=(const Qul::PlatformInterface::RectF &rectangle)
与此矩形相交rectangle。
另请参阅intersected() 和 operator|().
Qul::PlatformInterface::RectF RectF::operator|(const Qul::PlatformInterface::RectF &rectangle) const
返回此矩形与给定 rectangle 的包容矩形。
Qul::PlatformInterface::RectF &RectF::operator|=(const Qul::PlatformInterface::RectF &rectangle)
与此矩形联接给定的rectangle。
相关非成员函数
bool operator!=(const Qul::PlatformInterface::RectF &r1, const Qul::PlatformInterface::RectF &r2)
如果矩形r1和r2不同,则返回true
,否则返回false
。
bool operator==(const Qul::PlatformInterface::RectF &r1, const Qul::PlatformInterface::RectF &r2)
如果矩形r1和r2相等,则返回true
,否则返回false
。
适用于某些Qt许可证。
了解更多信息。