void PerformRendering(Graphics graphics, CombinedGeometry clp)
        {
            if (!rbNone.IsChecked)
            {
                if (rbBminusA.IsChecked)
                {
                    clp.Operation = CombinedGeometry.CombineMode.B_minus_A;
                }
                else if (rbAminusB.IsChecked)
                {
                    clp.Operation = CombinedGeometry.CombineMode.A_minus_B;
                }
                else if (rbXor.IsChecked)
                {
                    clp.Operation = CombinedGeometry.CombineMode.Xor;
                }
                else if (rbAnd.IsChecked)
                {
                    clp.Operation = CombinedGeometry.CombineMode.And;
                }
                else if (rbOr.IsChecked)
                {
                    clp.Operation = CombinedGeometry.CombineMode.Or;
                }

                GeometryPolyCounter counter = new GeometryPolyCounter(clp);

                GraphicsPath path = new GraphicsPath();
                path.Concat(counter);

                graphics.FillPath(new ColorR(0.65, 0.25, 0.9, 0.25), path);
                graphics.DrawPath(m_ContourPen, path);

                string info = StringFormatter.sprintf("Contours: %d      Points: %d", counter.Contours, counter.Points);
                graphics.DrawString(info, m_InfoFont, Brushes.White, Point.Five);
            }
        }