DrawCircle関数を float 型にするのは円の描画に使用しているアルゴリズムの関係上ちょっと難しいです・・・
float 型に対応した円の描画となりますと・・・ DrawLine関数を何回も呼んで円にする位しか思いつきません・・
#define TWO_PI (3.1415926535897932384626433832795f * 2.0f)
void DrawCircleFloat( float x, float y, float r, int Color, int DivNum )
{
int i ;
float BackY, BackX, Y, X ;
Y = sin( 0.0f ) * r + y ;
X = cos( 0.0f ) * r + x ;
for( i = 0 ; i < DivNum ; i ++ )
{
BackY = Y ;
BackX = X ;
Y = sin( TWO_PI / DivNum * ( i + 1 ) ) * r + y ;
X = cos( TWO_PI / DivNum * ( i + 1 ) ) * r + x ;
DrawLine( ( int )BackX, ( int )BackY, ( int )X, ( int )Y, Color ) ;
}
}
円というより正多角形を描くだけの関数ですが、引数の DivNum の値を大きくすれば
段々円に近づいていきます・・・ただし描画負荷も高くなります・・・
すいません、これが今思いつく float 型に対応した円描画の限界です・・・