예제 #1
0
        protected override void ApplyInvertedDrawing(IList <Rectangle> updates)
        {
            var point      = this.Command.Point;
            int startAngle = Command.StartAngle;
            int endAngle   = Command.EndAngle;

            if (startAngle > endAngle)
            {
                var t = startAngle;
                startAngle = endAngle;
                endAngle   = t;
            }

            this.BGI.Ellipse(point.X, point.Y, startAngle, endAngle, Command.Radius.Width, Command.Radius.Height, updates);
            this.BGI.Line(point, point + BGICanvas.GetAngleSize(startAngle, Command.Radius), updates);
            this.BGI.Line(point, point + BGICanvas.GetAngleSize(endAngle, Command.Radius), updates);
            ApplyHandles(updates);
        }