private void DrawSelectionHandles(RenderContext renderContext, Overlay overlay, Texture handleTexture)
        {
            Rectangle[] handles = MakeHandles(overlay);
            double      angle   = overlay.RotationAngle;

            int i = 0;
            int j = 0;

            foreach (Rectangle handle in handles)
            {
                points[i + 0]          = new PositionColoredTextured();
                points[i + 0].Position = overlay.MakePosition(centerX, centerY, handle.Left - centerX, handle.Top - centerY, angle);
                points[i + 0].Tu       = j * (1f / 9f);
                points[i + 0].Tv       = 0;
                points[i + 0].Color    = Colors.White;

                points[i + 1]          = new PositionColoredTextured();
                points[i + 1].Position = overlay.MakePosition(centerX, centerY, handle.Right - centerX, handle.Top - centerY, angle);
                points[i + 1].Tu       = (j + 1) * (1f / 9f);
                points[i + 1].Tv       = 0;
                points[i + 1].Color    = Colors.White;

                points[i + 2]          = new PositionColoredTextured();
                points[i + 2].Position = overlay.MakePosition(centerX, centerY, handle.Left - centerX, handle.Bottom - centerY, angle);
                points[i + 2].Tu       = j * (1f / 9f);
                points[i + 2].Tv       = 1;
                points[i + 2].Color    = Colors.White;

                points[i + 3]          = new PositionColoredTextured();
                points[i + 3].Position = overlay.MakePosition(centerX, centerY, handle.Right - centerX, handle.Top - centerY, angle);
                points[i + 3].Tu       = (j + 1) * (1f / 9f);
                points[i + 3].Tv       = 0;
                points[i + 3].Color    = Colors.White;

                points[i + 4]          = new PositionColoredTextured();
                points[i + 4].Position = overlay.MakePosition(centerX, centerY, handle.Right - centerX, handle.Bottom - centerY, angle);
                points[i + 4].Tu       = (j + 1) * (1f / 9f);
                points[i + 4].Tv       = 1;
                points[i + 4].Color    = Colors.White;

                points[i + 5]          = new PositionColoredTextured();
                points[i + 5].Position = overlay.MakePosition(centerX, centerY, handle.Left - centerX, handle.Bottom - centerY, angle);
                points[i + 5].Tu       = j * (1f / 9f);
                points[i + 5].Tv       = 1;
                points[i + 5].Color    = Colors.White;

                i += 6;
                j++;
            }

            if (MultiSelect)
            {
                sprite.Draw(renderContext, points, points.Length - 6, handleTexture, false, 1);
            }
            else
            {
                sprite.Draw(renderContext, points, points.Length, handleTexture, false, 1);
            }
        }