378 end; |
378 end; |
379 |
379 |
380 procedure DrawCircle(X, Y, Radius, Width: LongInt); |
380 procedure DrawCircle(X, Y, Radius, Width: LongInt); |
381 var |
381 var |
382 i: LongInt; |
382 i: LongInt; |
383 CircleVertex: array [0..359] of TVertex2f; |
383 CircleVertex: array [0..59] of TVertex2f; |
384 begin |
384 begin |
385 for i := 0 to 359 do begin |
385 for i := 0 to 59 do begin |
386 CircleVertex[i].X := X + Radius*cos(i*pi/180); |
386 CircleVertex[i].X := X + Radius*cos(i*pi/30); |
387 CircleVertex[i].Y := Y + Radius*sin(i*pi/180); |
387 CircleVertex[i].Y := Y + Radius*sin(i*pi/30); |
388 end; |
388 end; |
389 glDisable(GL_TEXTURE_2D); |
389 glDisable(GL_TEXTURE_2D); |
390 glEnable(GL_LINE_SMOOTH); |
390 glEnable(GL_LINE_SMOOTH); |
391 glPushMatrix; |
391 glPushMatrix; |
392 glLineWidth(Width); |
392 glLineWidth(Width); |
393 glVertexPointer(2, GL_FLOAT, 0, @CircleVertex[0]); |
393 glVertexPointer(2, GL_FLOAT, 0, @CircleVertex[0]); |
394 glDrawArrays(GL_LINE_LOOP, 0, 360); |
394 glDrawArrays(GL_LINE_LOOP, 0, 60); |
395 glPopMatrix; |
395 glPopMatrix; |
396 glEnable(GL_TEXTURE_2D); |
396 glEnable(GL_TEXTURE_2D); |
397 glDisable(GL_LINE_SMOOTH); |
397 glDisable(GL_LINE_SMOOTH); |
398 end; |
398 end; |
399 |
399 |