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_tcontrolElementCount() const
const float *controlElements() const
Qul::PlatformInterface::PathData::SegmentTypesegmentAt(std::size_t segmentIndex) const
std::size_tsegmentCount() const
const Qul::PlatformInterface::PathData::SegmentType *segments() const

静态公开成员

intcontrolElementCountForSegmentType(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::CloseSegment0通过添加一条线到起始点显式地关闭当前子路径。没有相应的控制元素。
Qul::PlatformInterface::PathData::MoveSegment1将路径的当前位置设置为给定位置,隐式关闭任何当前子路径。有两个相应的控制元素,定义目标位置的x和y坐标。
Qul::PlatformInterface::PathData::LineSegment2向路径添加从当前位置到给定位置的直线。有两个相应的控制元素,定义目标位置的x和y坐标。
Qul::PlatformInterface::PathData::QuadraticBezierSegment3基于中间的贝塞尔控制点,从当前位置到目标位置添加二次贝塞尔曲线到路径。有四个相应的控制元素,前两个是贝塞尔控制点的x和y坐标,接下来两个是目标位置的x和y坐标。
Qul::PlatformInterface::PathData::CubicBezierSegment4基于两个中间的贝塞尔控制点,从当前位置到目标位置添加三次贝塞尔曲线到路径。有六个相应的控制元素,前两个是第一个贝塞尔控制点的x和y坐标,接下来的两个是第二个贝塞尔控制点的x和y坐标,最后的两个是目标位置的x和y坐标。
Qul::PlatformInterface::PathData::SmallCounterClockWiseArcSegment5向路径添加椭圆的小逆时针弧,该椭圆与当前位置和目标位置相交,椭圆具有给定的x半径、y半径和旋转角度。有五个相应的控制元素,前三个是椭圆的x半径、y半径和旋转角度的度数,最后两个是目标位置的x和y坐标。
Qul::PlatformInterface::PathData::SmallClockWiseArcSegment6向路径添加椭圆的小顺时针弧,该椭圆与当前位置和目标位置相交,椭圆具有给定的x半径、y半径和旋转角度。有五个相应的控制元素,前三个是椭圆的x半径、y半径和旋转角度的度数,最后两个是目标位置的x和y坐标。
Qul::PlatformInterface::PathData::LargeCounterClockWiseArcSegment7向路径添加椭圆的大逆时针弧,该椭圆与当前位置和目标位置相交,椭圆具有给定的x半径、y半径和旋转角度。有五个相应的控制元素,前三个是椭圆的x半径、y半径和旋转角度的度数,最后两个是目标位置的x和y坐标。
Qul::PlatformInterface::PathData::LargeClockWiseArcSegment8向路径添加椭圆的大顺时针弧,该椭圆与当前位置和目标位置相交,椭圆具有给定的x半径、y半径和旋转角度。有五个相应的控制元素,前三个是椭圆的x半径、y半径和旋转角度的度数,最后两个是目标位置的x和y坐标。
Qul::PlatformInterface::PathData::PathSeparatorSegment9分离路径的独立子部分。在实现中更优时,子部分可以独立混合而不产生任何视觉差异。实现忽略此路径段是安全的。

此枚举在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)

构建路径数据对象。

使用给定的segmentssegmentCountcontrolElementscontrolElementCountoptimizationHints构建路径数据对象

注意: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许可下提供。
了解更多信息。