このページでは

C

Qul::PlatformInterface::PathData Class

class Qul::PlatformInterface::PathData

このクラスは、ベクトルパスデータを表します。詳細...

Header: #include <platforminterface/pathdata.h>
Since: Qt Quick Ultralite (Platform) 1.8

パブリック型

(since Qt Quick Ultralite (Platform) 1.8) enum SegmentType { CloseSegment, MoveSegment, LineSegment, QuadraticBezierSegment, CubicBezierSegment, …, PathSeparatorSegment }

パブリック関数

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)
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::CloseSegment0開始点に線を追加して、現在のサブパスを明示的に閉じます。これに対応する制御要素はありません。
Qul::PlatformInterface::PathData::MoveSegment1パスの現在の位置を指定された位置に設定し、現在のサブパスを暗黙的に閉じます。対応する制御要素は 2 つあり、目標位置の x 座標と y 座標を定義します。
Qul::PlatformInterface::PathData::LineSegment2パスに、現在の位置から指定された位置への線を追加します。対応する制御要素が2つあり、それらは目標位置のx座標とy座標を定義します。
Qul::PlatformInterface::PathData::QuadraticBezierSegment3中間ベジェ制御点に基づいて、現在の位置から目標位置までの2次ベジェ曲線をパスに追加します。これに対応する制御要素は4つあり、最初の2つはベジェ制御点のx座標とy座標、次の2つは目標位置のx座標とy座標です。
Qul::PlatformInterface::PathData::CubicBezierSegment42つの中間ベジェ制御点に基づいて、現在の位置から目標位置までの3次ベジェ曲線をパスに追加します。 これに対応する制御要素は 6 つあり、最初の 2 つは最初のベジェ制御点の x 座標と y 座標、次の 2 つは 2 番目のベジェ制御点の x 座標と y 座標、最後の 2 つは目標位置の x 座標と y 座標です。
Qul::PlatformInterface::PathData::SmallCounterClockWiseArcSegment5現在の位置と目標位置を交差する、反時計回りの小さな楕円弧をパスに追加します。楕円には、指定された x 半径、y 半径、および回転角が設定されます。 これに対応する制御要素は 5 つあり、最初の 3 つは楕円の x 半径、y 半径、および回転角度(度単位)で、最後の 2 つは目標位置の x 座標と y 座標です。
Qul::PlatformInterface::PathData::SmallClockWiseArcSegment6指定された x 半径、y 半径、回転角を持つ楕円の、現在の位置と目標位置とが交差する小さな時計回りの弧をパスに追加します。 これに対応する制御要素は 5 つあり、最初の 3 つは楕円の x 半径、y 半径、回転角度(度単位)で、最後の 2 つはターゲット位置の x 座標と y 座標です。
Qul::PlatformInterface::PathData::LargeCounterClockWiseArcSegment7現在の位置とターゲット位置とが交差する、指定された x 半径、y 半径、回転角を持つ楕円の反時計回りの大きな弧をパスに追加します。 これに対応する制御要素は 5 つあり、最初の 3 つは楕円の x 半径、y 半径、回転角度(度単位)で、最後の 2 つは目標位置の x 座標と y 座標です。
Qul::PlatformInterface::PathData::LargeClockWiseArcSegment8現在の位置とターゲット位置とが交差する、指定された x 半径、y 半径、回転角を持つ楕円の、時計回りの大きな弧をパスに追加します。 これに対応する制御要素は 5 つあり、最初の 3 つは楕円の x 半径、y 半径、および回転角度(度単位)で、最後の 2 つはターゲット位置の x 座標と y 座標です。
Qul::PlatformInterface::PathData::PathSeparatorSegment9パスの独立したサブパーツを分離します。サブパーツは、そうすることがより最適である実装において、視覚的な違いを生じさせることなく個別にブレンドすることができます。実装において、このパスセグメントを無視しても問題ありません。

この列挙型は、Qt Quick Ultralite (Platform) 1.8 で導入されました。

メンバ関数のドキュメント

PathData::PathData()

空のパスデータオブジェクトを作成します。

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)

パスデータオブジェクトを生成します。

指定されたsegmentssegmentCountcontrolElementscontrolElementCount およびoptimizationHints

注:PathDataは 、指定されたセグメントおよび制御要素データの所有権を取得しません。

std::size_t PathData::controlElementCount() const

パスに含まれる制御要素の数を返します。

controlElements()も参照してください

[static] int PathData::controlElementCountForSegmentType(Qul::PlatformInterface::PathData::SegmentType type)

指定されたセグメント `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ライセンスの下で利用可能です。
詳細はこちら。