classes
SpecialDrawing.as
package sk.yoz.graphics
{
import flash.display.Graphics;
public class SpecialDrawing extends Object
{
public function SpecialDrawing()
{
super();
}
public static function wedge(
graphics:Graphics, centerX:Number, centerY:Number,
radius:Number, startAngle:Number, endAngle:Number):void
{
var degToRad:Number = Math.PI / 180;
if (endAngle < startAngle)
endAngle += 360;
var r:Number = radius;
var n:Number = Math.ceil((endAngle - startAngle) / 45);
var theta:Number = ((endAngle - startAngle) / n) * degToRad;
var cr:Number = radius / Math.cos(theta / 2);
var angle:Number = startAngle * degToRad;
var cangle:Number = angle - theta / 2;
graphics.moveTo(centerX, centerY);
graphics.lineTo(centerX + r * Math.cos(angle),
centerY + r * Math.sin(angle));
for (var i:uint = 0; i < n; i++)
{
angle += theta;
cangle += theta;
var endX:Number = r * Math.cos(angle);
var endY:Number = r * Math.sin(angle);
var cX:Number = cr * Math.cos(cangle);
var cY:Number = cr * Math.sin(cangle);
graphics.curveTo(centerX + cX, centerY + cY, centerX + endX,
centerY + endY);
}
graphics.lineTo(centerX, centerY);
}
}
}