private void Draw(DrawingSettings drSet)
        {
            if (context == null)
            {
                return;
            }

            if (drSet.drawingObject is MathFunction)
            {
                MathFunction             func = drSet.drawingObject as MathFunction;
                Tuple <double, double>[] continuousRegions = func.ContinuousRegions(minX, maxX, minY, maxY);

                foreach (Tuple <double, double> region in continuousRegions)
                {
                    PointF[] points = PointsForFunction(func, region.Item1, region.Item2);

                    context.DrawLines(new Pen(drSet.borderColor, drSet.borderWidth), points);
                }
            }
            else if (drSet.drawingObject is GraphicsPath)
            {
                GraphicsPath path = drSet.drawingObject as GraphicsPath;

                context.FillPath(drSet.brush, path);
                context.DrawPath(new Pen(drSet.borderColor, drSet.borderWidth), path);
            }
        }