GraphicLibrary  0.5.0
GLine 名前空間

線分描画用関数 [詳解]

関数

int Clipping (Coord< int > drawSize, Coord< int > *c0, Coord< int > *c1)
 線分描画用クリッピング処理 [詳解]
 
void Draw (DrawingArea_IF &draw, GPixelOp &pixelOp, Coord< int > c0, Coord< int > c1, bool needClipping=true, bool connect4=false)
 線分描画関数 [詳解]
 
void DrawMultiple (DrawingArea_IF &draw, GPixelOp &pixelOp, const std::vector< Coord< int > > &vertexList)
 複数のラインを描画する [詳解]
 
void DrawH (DrawingArea_IF &draw, GPixelOp &pixelOp, Coord< int > c0, int ex)
 水平線分を描画する [詳解]
 
void DrawV (DrawingArea_IF &draw, GPixelOp &pixelOp, Coord< int > c0, int ey)
 垂直線分を描画する [詳解]
 

詳解

線分描画用関数

関数詳解

◆ Clipping()

int GLine::Clipping ( Coord< int >  drawSize,
Coord< int > *  c0,
Coord< int > *  c1 
)

線分描画用クリッピング処理

引数
drawSize描画エリアの大きさ
c0,c1始点・終点の座標へのポインタ(クリッピング後の座標に変換される)
戻り値
>0... クリッピングされた
=0... クリッピングの必要なし
<0... 線分は完全に不可視

◆ Draw()

void GLine::Draw ( DrawingArea_IF draw,
GPixelOp pixelOp,
Coord< int >  c0,
Coord< int >  c1,
bool  needClipping = true,
bool  connect4 = false 
)

線分描画関数

ピクセル操作領域 draw、ピクセル操作関数オブジェクト pixelOp が未定義の場合は assert を実行する。

引数
drawピクセル操作領域
pixelOpピクセル操作関数オブジェクト
c0,c1始点・終点座標
needClippingtrueの場合はクリッピングを行う
connect4trueの場合は 4 連結で描画する
戻り値
なし

◆ DrawH()

void GLine::DrawH ( DrawingArea_IF draw,
GPixelOp pixelOp,
Coord< int >  c0,
int  ex 
)

水平線分を描画する

ピクセル操作領域 draw、ピクセル操作関数オブジェクト pixelOp が未定義の場合は assert を実行する。

引数
drawピクセル操作領域
pixelOpピクセル操作関数オブジェクト
c0描画開始点の座標
ex描画終了点の X 座標
戻り値
なし

◆ DrawMultiple()

void GLine::DrawMultiple ( DrawingArea_IF draw,
GPixelOp pixelOp,
const std::vector< Coord< int > > &  vertexList 
)

複数のラインを描画する

線分は、添字を一つずつたどりながら描画するため、描画結果は各線分が連結された形になる。 但し、配列の末尾と開始は連結しない。

ピクセル操作領域 draw、ピクセル操作関数オブジェクト pixelOp が未定義の場合は assert を実行する。

引数
drawピクセル操作領域
pixelOpピクセル操作関数オブジェクト
vertexList各頂点の座標
戻り値
なし

◆ DrawV()

void GLine::DrawV ( DrawingArea_IF draw,
GPixelOp pixelOp,
Coord< int >  c0,
int  ey 
)

垂直線分を描画する

ピクセル操作領域 draw、ピクセル操作関数オブジェクト pixelOp が未定義の場合は assert を実行する。

引数
drawピクセル操作領域
pixelOpピクセル操作関数オブジェクト
c0描画開始点の座標
ey描画終了点の Y 座標
戻り値
なし