public void Draw(int numIterations, int numThreads)
        {
            this.numIterations = numIterations;
            this.numThreads = numThreads;

            int yInc = screenHeight / numThreads;
            int yPos = 0;
            for (int i = 0; i < numThreads; i++)
            {
                var thread = new Thread(new ParameterizedThreadStart(DrawInternal));
                currentThreads.Add(thread);
                var p = new MandelThreadParams();
                p.parentForm = parentContext;
                p.startX = 0;
                p.startY = yPos;
                p.startWidth = screenWidth;
                if (i == numThreads - 1)
                {
                    p.startHeight = screenHeight - yPos;
                }
                else
                {
                    p.startHeight = yInc;
                }
                thread.Start(p);
                yPos += yInc;
            }
        }
        public void Draw(int numIterations, int numThreads)
        {
            this.numIterations = numIterations;
            this.numThreads    = numThreads;

            int yInc = screenHeight / numThreads;
            int yPos = 0;

            for (int i = 0; i < numThreads; i++)
            {
                var thread = new Thread(new ParameterizedThreadStart(DrawInternal));
                currentThreads.Add(thread);
                var p = new MandelThreadParams();
                p.parentForm = parentContext;
                p.startX     = 0;
                p.startY     = yPos;
                p.startWidth = screenWidth;
                if (i == numThreads - 1)
                {
                    p.startHeight = screenHeight - yPos;
                }
                else
                {
                    p.startHeight = yInc;
                }
                thread.Start(p);
                yPos += yInc;
            }
        }