GraphicLibrary
0.5.0
|
描画機能用名前空間 [詳解]
名前空間 | |
paint | |
ペイント用関数 | |
クラス | |
struct | DrawFuncIF |
描画用関数オブジェクト I/F [詳解] | |
struct | DrawFuncIF_1p |
描画用関数オブジェクト 一座標指定 I/F [詳解] | |
struct | DrawFuncIF_2p |
描画用関数オブジェクト 二座標指定 I/F [詳解] | |
struct | DrawFuncIF_3p |
描画用関数オブジェクト 三座標指定 I/F [詳解] | |
struct | DrawFuncIF_Multiple |
描画用関数オブジェクト 任意の数の座標指定 I/F [詳解] | |
class | DrawFuncAdapter_1p |
描画用関数オブジェクト 一座標指定 アダプタ [詳解] | |
class | DrawFuncAdapter_2p |
描画用関数オブジェクト 二座標指定 アダプタ [詳解] | |
class | DrawFuncAdapter_3p |
描画用関数オブジェクト 三座標指定 アダプタ [詳解] | |
class | DrawFuncAdapter_Multiple |
描画用関数オブジェクト 任意の数の座標指定 アダプタ [詳解] | |
class | DrawLine |
描画用関数オブジェクト 線分描画 [詳解] | |
class | DrawBox |
描画用関数オブジェクト 矩形描画 [詳解] | |
class | DrawCross |
描画用関数オブジェクト 十字描画 [詳解] | |
class | DrawEllipse |
描画用関数オブジェクト 楕円描画 [詳解] | |
class | DrawCircle |
描画用関数オブジェクト 真円描画 [詳解] | |
class | DrawCircle_2p |
描画用関数オブジェクト 真円描画 [詳解] | |
class | DrawTriangle |
描画用関数オブジェクト 三角形描画 [詳解] | |
class | DrawCircle_3p |
描画用関数オブジェクト 真円描画 [詳解] | |
class | DrawCircleWithLine |
描画用関数オブジェクト 線分・真円の描画 [詳解] | |
class | DrawCircleWithTriangle |
描画用関数オブジェクト 三角形・真円描画 [詳解] | |
class | DrawArc |
描画用関数オブジェクト 円弧描画 [詳解] | |
class | DrawMultipleLine |
描画用関数オブジェクト 複数の直線描画 [詳解] | |
class | DrawPolygon |
描画用関数オブジェクト ポリゴン描画 [詳解] | |
struct | DrawCatmullRomSpline |
描画用関数オブジェクト Catmull-Rom 曲線描画 [詳解] | |
class | DrawBezierSpline |
描画用関数オブジェクト ベジェ曲線描画 [詳解] | |
class | DrawUniformBSpline |
描画用関数オブジェクト 一様スプライン曲線描画 [詳解] | |
class | DrawOpenUniformBSpline |
描画用関数オブジェクト 開一様スプライン曲線描画 [詳解] | |
class | DrawCircleBrush |
描画用関数オブジェクト 円形ブラシ形状の描画 [詳解] | |
class | DrawEllipsePen |
描画用関数オブジェクト 楕円ペン形状の描画 [詳解] | |
struct | RectangleOperator |
矩形領域への操作用関数オブジェクト [詳解] | |
class | RectangleCopy |
矩形領域のコピー [詳解] | |
struct | RectangleFill |
矩形領域の塗りつぶし [詳解] | |
関数 | |
void | Put (const canvas::DrawingArea_IF &pattern, canvas::DrawingArea_IF &draw, pen::GPixelDraw &pixelDraw, Coord< int > s, bool reverseX, bool reverseY, bool swapXY) |
パターンの描画 [詳解] | |
void | ResizePut (const canvas::DrawingArea_IF &pattern, canvas::DrawingArea_IF &draw, pen::GPixelDraw &pixelDraw, Coord< int > s, Coord< int > e, bool reverseX, bool reverseY, bool swapXY, const interpolation::Base &ipF) |
パターンの拡大・縮小描画 [詳解] | |
void | TransPut (const canvas::DrawingArea_IF &pattern, canvas::DrawingArea_IF &draw, pen::GPixelDraw &pixelDraw, Coord< int > lu, Coord< int > ru, Coord< int > rd, Coord< int > ld, const interpolation::Base &ipF, bool priorFirst) |
パターンの自由変形 [詳解] | |
void | RotPut (const canvas::DrawingArea_IF &pattern, canvas::DrawingArea_IF &draw, pen::GPixelDraw &pixelDraw, Coord< int > o, double r, const interpolation::Base &ipF, double scale=1) |
パターンの回転描画 [詳解] | |
描画機能用名前空間
void tadah_fussy::gl::draw::Put | ( | const canvas::DrawingArea_IF & | pattern, |
canvas::DrawingArea_IF & | draw, | ||
pen::GPixelDraw & | pixelDraw, | ||
Coord< int > | s, | ||
bool | reverseX, | ||
bool | reverseY, | ||
bool | swapXY | ||
) |
パターンの描画
reverseX, reverseY, swapXY はパターンの向きを変えたり反転させる場合に利用できる。 全て false なら通常の描画になる。その他、よく利用する例は
など。swapXY は、描画する座標を単純に ( x, y ) から ( y, x ) にするだけなので、これだけでは回転処理にならないことに注意。 また、swapXY が true の場合、reverseX は垂直方向、reverseY は水平方向に適用される。
パターン pattern、描画領域 draw のいずれかが未定義の場合は assert を実行する。
パターン pattern と描画領域 draw が等しい場合、処理は行わないことに注意。
pattern | 描画するパターン |
draw | パターンを描画する領域 |
pixelDraw | ピクセル描画用関数オブジェクト |
s | パターンの描画開始位置 |
reverseX | X 方向の描画を反転させるか |
reverseY | Y 方向の描画を反転させるか |
swapXY | X,Y の描画を反転させるか |
void tadah_fussy::gl::draw::ResizePut | ( | const canvas::DrawingArea_IF & | pattern, |
canvas::DrawingArea_IF & | draw, | ||
pen::GPixelDraw & | pixelDraw, | ||
Coord< int > | s, | ||
Coord< int > | e, | ||
bool | reverseX, | ||
bool | reverseY, | ||
bool | swapXY, | ||
const interpolation::Base & | ipF | ||
) |
パターンの拡大・縮小描画
reverseX, reverseY, swapXY はパターンの向きを変えたり反転させる場合に利用できる。 全て false なら通常の描画になる。その他、よく利用する例は
など。swapXY は、描画する座標を単純に ( x, y ) から ( y, x ) にするだけなので、これだけでは回転処理にならないことに注意。 また、swapXY が true の場合、reverseX は垂直方向、reverseY は水平方向に適用される。
ipF はサンプル補間用の関数オブジェクト GInterpolation_IF を指定するために利用する。例えば
によって「最近傍法 (Nearest Neighbour)」によるサンプル補間が行われる。
パターン pattern、描画領域 draw のいずれかが未定義の場合は assert を実行する。
パターン pattern と描画領域 draw が等しい場合、処理は行わないことに注意。
pattern | 描画するパターン |
draw | パターンを描画する領域 |
pixelDraw | ピクセル描画用関数オブジェクト |
s,e | パターンの描画開始・終了位置 |
reverseX | X 方向の描画を反転させるか |
reverseY | Y 方向の描画を反転させるか |
swapXY | X,Y の描画を反転させるか |
ipF | サンプル補間用関数オブジェクト |
void tadah_fussy::gl::draw::RotPut | ( | const canvas::DrawingArea_IF & | pattern, |
canvas::DrawingArea_IF & | draw, | ||
pen::GPixelDraw & | pixelDraw, | ||
Coord< int > | o, | ||
double | r, | ||
const interpolation::Base & | ipF, | ||
double | scale = 1 |
||
) |
パターンの回転描画
ipF はサンプル補間用の関数オブジェクト GInterpolation_IF を指定するために利用する。例えば
によって「最近傍法 (Nearest Neighbour)」によるサンプル補間が行われる。
パターン pattern、描画領域 draw のいずれかが未定義の場合は assert を実行する。
パターン pattern と描画領域 draw が等しい場合、処理は行わないことに注意。
pattern | 描画するパターン |
draw | 描画領域 |
pixelDraw | ピクセル描画用関数オブジェクト |
o | パターンの中心位置 |
r | 回転角度 |
ipF | サンプル補間用関数オブジェクト |
scale | 拡大・縮小率 |
void tadah_fussy::gl::draw::TransPut | ( | const canvas::DrawingArea_IF & | pattern, |
canvas::DrawingArea_IF & | draw, | ||
pen::GPixelDraw & | pixelDraw, | ||
Coord< int > | lu, | ||
Coord< int > | ru, | ||
Coord< int > | rd, | ||
Coord< int > | ld, | ||
const interpolation::Base & | ipF, | ||
bool | priorFirst | ||
) |
パターンの自由変形
処理の性格上、一つのピクセルを複数回描画する場合がある。priorFirst を true にすると最初に描画されたときの色が優先される。 描画はパターンの上側から順に行われるので、重なった部分は priorFirst が true なら先に描画される上側の方が、false なら 後で描画される下側の方が残ることになる。 priorFirst を true にした場合、内部で座標をキャッシュするため処理速度は落ちることになるが、点描画のコストが高い場合は 重複した描画がなくなる分、逆に早く描画できるようになる。
ipF はサンプル補間用の関数オブジェクト GInterpolation_IF を指定するために利用する。例えば
によって「最近傍法 (Nearest Neighbour)」によるサンプル補間が行われる。
パターン pattern、描画領域 draw のいずれかが未定義の場合は assert を実行する。
パターン pattern と描画領域 draw が等しい場合、処理は行わないことに注意。
pattern | 描画するパターン |
draw | 描画領域 |
pixelDraw | ピクセル描画用関数オブジェクト |
lu,ru,rd,ld | 変形後の各頂点(パターンの左上・右上・右下・左下にそれぞれ対応) |
ipF | サンプル補間用関数オブジェクト |
priorFirst | 先に描画されたときの色を優先するなら true |