このページでは

C

Qul::PlatformInterface::PathDataStroker Class

class Qul::PlatformInterface::PathDataStroker

PathDataStroker は、図形のストローク表現を生成します。詳細...

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

Qul::PlatformInterface::DefaultPathDataStroker

パブリック関数

PathDataStroker(const Qul::PlatformInterface::PathData *data)
void enableNonSelfIntersectingSegments()
void setStrokeProperties(const Qul::PlatformInterface::StrokeProperties &properties)
void stroke()

Protected関数

virtual void arcTo(float x, float y, float rx, float ry, float rotation, bool largeArc, bool clockwise) = 0
virtual void beginStroke() = 0
virtual void cubicTo(float c1x, float c1y, float c2x, float c2y, float ex, float ey) = 0
virtual void endStroke() = 0
virtual void lineTo(float x, float y) = 0
virtual void moveTo(float x, float y) = 0

詳細な説明

一部のプラットフォームでは、ベクター図形にストロークを適用することができません。このクラスは、図形のパスを走査し、ストローク自体用の別のパスを生成します。

Qul::PlatformInterface::DefaultPathDataStrokerも参照してください

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

[explicit] PathDataStroker::PathDataStroker(const Qul::PlatformInterface::PathData *data)

data で定義された形状のストロークインスタンスを作成します。

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

[pure virtual protected] void PathDataStroker::arcTo(float x, float y, float rx, float ry, float rotation, bool largeArc, bool clockwise)

現在のパスの末尾に円弧セグメントを追加します。円弧は、x およびy を原点とし、rx およびry をサイズとし、rotation を半径として描画される必要があります。largeArc およびclockwise 引数は、円弧の描画方法を定義します。

注:この メソッドstroke() によって呼び出されます。

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

[pure virtual protected] void PathDataStroker::beginStroke()

ストローク生成プロセスが開始されたときに通知します。

注:この メソッドstroke() によって呼び出されます。

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

[pure virtual protected] void PathDataStroker::cubicTo(float c1x, float c1y, float c2x, float c2y, float ex, float ey)

現在のパスの末尾に3次曲線のセグメントを追加します。曲線は、ex およびey の座標上に、c1x およびc1y を第1の制御点、c2x およびc2y を第2の制御点として描画する必要があります。

注:この メソッドstroke() によって呼び出されます。

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

void PathDataStroker::enableNonSelfIntersectingSegments()

パスデータストロークが、自己交差しないセグメントを出力するように指定します。

デフォルトでは、PathDataStroker は自己交差するパスを生成します。この関数を呼び出すと、代わりに自己交差しない形でストロークを部分ごとに生成しますが、各部分は互いに重なり合う可能性があります。

これは、ハードウェアが自己交差するパスをサポートしていない場合や、パスを部分ごとにアルファマップにブレンドし、代わりにそのアルファマップをブレンドする場合などに役立ちます。

[pure virtual protected] void PathDataStroker::endStroke()

ストローク生成処理が終了したときに通知します。

注:この メソッドstroke() によって呼び出されます。

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

[pure virtual protected] void PathDataStroker::lineTo(float x, float y)

現在のパスの末尾に、x およびy の座標を含む線分を追加します。

注:この メソッドstroke() によって呼び出されます。

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

[pure virtual protected] void PathDataStroker::moveTo(float x, float y)

現在のパスの末尾に、移動セグメント(x およびy の座標を含む)を追加します。

注:この メソッドstroke() によって呼び出されます。

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

void PathDataStroker::setStrokeProperties(const Qul::PlatformInterface::StrokeProperties &properties)

ストロークのproperties を設定します。この関数は、stroke()を呼び出すたびにその前に呼び出すことで、生成されるストロークの外観を変更することができます。

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

void PathDataStroker::stroke()

ストロークの生成を開始します。ストロークの最初のセグメントを計算する前に、beginStroke() 仮想関数が呼び出されます。ストロークのパスが計算されると、moveTo()、lineTo()、cubicTo()、またはarcTo() 仮想関数がそれぞれ呼び出されます。ストロークの生成が完了すると、endStroke() 仮想関数が呼び出されます。

注: PathDataStroker のサブクラスは 、新しいパスに必要な十分なメモリを割り当てる必要があります。

関連項目: beginStroke()、endStroke()、moveTo()、lineTo()、cubicTo()、およびarcTo()。

特定のQtライセンスの下で利用可能です。
詳細はこちらをご覧ください。