このページでは

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中間ベジ エ制御点に基づ き 、 現在位置か ら タ ーゲ ッ ト 位置へ二次ベジ エ曲線をパスに追加。対応す る 制御要素は 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現在位置とターゲット位置を交差する楕円の時計回りの大きな弧をパスに追加します。対応する制御要素は5つあり、最初の3つは楕円のx半径、y半径、回転角度(度)で、最後の2つは目標位置のx座標とy座標です。
Qul::PlatformInterface::PathData::PathSeparatorSegment9パスの独立したサブパートを分離します。そうすることがより最適である実装では、視覚的な違いなしに、部分部分を独立してブレンドすることができます。このパスセグメントを無視する実装は安全です。

この enum は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 ライセンスの下で利用可能です。
詳細はこちら。