C
PathData 类
class Qul::PlatformInterface::PathData此类表示矢量路径数据。 更多信息...
头文件 | #include <platforminterface/pathdata.h> |
自 | Qt Quick Ultralite (平台) 1.8 |
公开类型
枚举 | SegmentType { CloseSegment, MoveSegment, LineSegment, QuadraticBezierSegment, CubicBezierSegment, …, PathSeparatorSegment } |
公开函数
PathData(const Qul::PlatformInterface::PathData::SegmentType *segments, std::size_t segmentCount, const float *controlElements, std::size_t controlElementCount, Qul::PlatformInterface::PathOptimizationHints optimizationHints = PathOptimizationHints_None) | |
PathData() | |
std::size_t | controlElementCount() const |
const float * | controlElements() const |
Qul::PlatformInterface::PathData::SegmentType | segmentAt(std::size_t segmentIndex) const |
std::size_t | segmentCount() const |
const Qul::PlatformInterface::PathData::SegmentType * | segments() const |
静态公开成员
int | controlElementCountForSegmentType(Qul::PlatformInterface::PathData::SegmentType type) |
详细描述
此类表示可由 Qul::PlatformInterface::DrawingEngine API 一起用于绘制矢量图形的矢量路径数据。
路径数据是一系列段,通过段类型数组和对每个段的控制元素数组的单独数组表示。
不同的段类型可能有不同数量的控制元素。使用 controlElementCountForSegmentType() 来查询与特定段类型关联的控制元素数量。
对于更方便的段遍历,请使用 Qul::PlatformInterface::PathDataIterator 类。
另请参阅PathDataIterator。
成员类型文档
[since Qt Quick Ultralite (Platform) 1.8]
enum PathData::SegmentType
此枚举类型指定了路径的不同段类型。
常量 | 值 | 描述 |
---|---|---|
Qul::PlatformInterface::PathData::CloseSegment | 0 | 通过添加一条线到起始点显式地关闭当前子路径。没有相应的控制元素。 |
Qul::PlatformInterface::PathData::MoveSegment | 1 | 将路径的当前位置设置为给定位置,隐式关闭任何当前子路径。有两个相应的控制元素,定义目标位置的x和y坐标。 |
Qul::PlatformInterface::PathData::LineSegment | 2 | 向路径添加从当前位置到给定位置的直线。有两个相应的控制元素,定义目标位置的x和y坐标。 |
Qul::PlatformInterface::PathData::QuadraticBezierSegment | 3 | 基于中间的贝塞尔控制点,从当前位置到目标位置添加二次贝塞尔曲线到路径。有四个相应的控制元素,前两个是贝塞尔控制点的x和y坐标,接下来两个是目标位置的x和y坐标。 |
Qul::PlatformInterface::PathData::CubicBezierSegment | 4 | 基于两个中间的贝塞尔控制点,从当前位置到目标位置添加三次贝塞尔曲线到路径。有六个相应的控制元素,前两个是第一个贝塞尔控制点的x和y坐标,接下来的两个是第二个贝塞尔控制点的x和y坐标,最后的两个是目标位置的x和y坐标。 |
Qul::PlatformInterface::PathData::SmallCounterClockWiseArcSegment | 5 | 向路径添加椭圆的小逆时针弧,该椭圆与当前位置和目标位置相交,椭圆具有给定的x半径、y半径和旋转角度。有五个相应的控制元素,前三个是椭圆的x半径、y半径和旋转角度的度数,最后两个是目标位置的x和y坐标。 |
Qul::PlatformInterface::PathData::SmallClockWiseArcSegment | 6 | 向路径添加椭圆的小顺时针弧,该椭圆与当前位置和目标位置相交,椭圆具有给定的x半径、y半径和旋转角度。有五个相应的控制元素,前三个是椭圆的x半径、y半径和旋转角度的度数,最后两个是目标位置的x和y坐标。 |
Qul::PlatformInterface::PathData::LargeCounterClockWiseArcSegment | 7 | 向路径添加椭圆的大逆时针弧,该椭圆与当前位置和目标位置相交,椭圆具有给定的x半径、y半径和旋转角度。有五个相应的控制元素,前三个是椭圆的x半径、y半径和旋转角度的度数,最后两个是目标位置的x和y坐标。 |
Qul::PlatformInterface::PathData::LargeClockWiseArcSegment | 8 | 向路径添加椭圆的大顺时针弧,该椭圆与当前位置和目标位置相交,椭圆具有给定的x半径、y半径和旋转角度。有五个相应的控制元素,前三个是椭圆的x半径、y半径和旋转角度的度数,最后两个是目标位置的x和y坐标。 |
Qul::PlatformInterface::PathData::PathSeparatorSegment | 9 | 分离路径的独立子部分。在实现中更优时,子部分可以独立混合而不产生任何视觉差异。实现忽略此路径段是安全的。 |
此枚举在Qt Quick Ultralite(平台)1.8中引入或修改。
成员函数文档
PathData::PathData(const Qul::PlatformInterface::PathData::SegmentType *segments, std::size_t segmentCount, const float *controlElements, std::size_t controlElementCount, Qul::PlatformInterface::PathOptimizationHints optimizationHints = PathOptimizationHints_None)
构建路径数据对象。
使用给定的segments、segmentCount、controlElements、controlElementCount和optimizationHints构建路径数据对象
注意:PathData不拥有给定的段和控制元素数据。
PathData::PathData()
构建一个空的路径数据对象。
std::size_t PathData::controlElementCount() const
返回路径中控制元素的数量。
另请参阅controlElements。
[静态]
int PathData::controlElementCountForSegmentType(Qul::PlatformInterface::PathData::SegmentType type)
返回给定段类型对应的控制元素数量。
注意:建议使用便利的Qul::PlatformInterface::PathDataIterator类而不是手动遍历控制元素。
另请参阅segments()和controlElements。
const float *PathData::controlElements() const
返回指向控制元素数组的指针。
可以使用controlElementCount()查询数组中的元素数量。
由segments()返回的数组中的每个段都具有与controlElementCountForSegmentType()函数查询的控制元素数量相对应。
另请参阅segments()和controlElementCountForSegmentType。
Qul::PlatformInterface::PathData::SegmentType PathData::segmentAt(std::size_t segmentIndex) const
返回给定索引segmentIndex处的段类型。
另请参阅segmentCount。
std::size_t PathData::segmentCount() const
返回路径中的段数。
另请参阅segments。
const Qul::PlatformInterface::PathData::SegmentType *PathData::segments() const
返回指向路径段类型数组的指针。
可以使用segmentCount()查询数组中的元素数量。
在某些Qt许可下提供。
了解更多信息。