/**
* 点線を描画
*/
void drawLine2( HDC hdc, const POINT& start, const POINT& end, int width )
{
CDC* dc = CDC::FromHandle( hdc );
if( !dc ) return;
ASSERT( width > 0 );
// 全体の長さ
double length = calcDistance( start, end );
double part_length = 10.0 + (double)width;
double sum = 0.0;
double radian = getRadian( start, end );
POINT part_start = start;
POINT part_end;
while( sum < length ){
// 終点を求める
part_end = getPoint( radian, part_length, part_start );
sum += part_length;
// 終点を超えてないか
if( sum > length ){
part_end = getPoint( radian, sum - length, part_start );//part_end = end;
break;//test
}
dc->MoveTo( part_start );
dc->LineTo( part_end );
// 始点を求める
part_start = getPoint( radian, part_length, part_end );
sum += part_length;
}
}
最終更新:2009年04月03日 14:16