Exemplo n.º 1
0
 private void paletteCombo_SelectedIndexChanged(object sender, EventArgs e)
 {
     try
     {
         Mandel.SetPalette(((Func <int[]>)(paletteCombo.SelectedValue))());
     }
     catch { return; }
     optionsPanel.Visible = false;
     RunRedraw();
 }
Exemplo n.º 2
0
        private void Form1_Load(object sender, EventArgs e)
        {
            m_scale   = 0.01;
            m_xcenter = -1;
            m_ycenter = 0;
            m_xbase   = -1 - ClientSize.Width * m_scale / 2;
            m_ybase   = 0 - ClientSize.Height * m_scale / 2;

            paletteCombo.DataSource    = new BindingSource(PaletteGenerator.Palettes, null);
            paletteCombo.DisplayMember = "Key";
            paletteCombo.ValueMember   = "Value";
            Mandel.SetPalette(PaletteGenerator.Palettes["Default"]());
            RunRedraw();
        }
Exemplo n.º 3
0
        // RunRedraw - Sempre in th GUI
        private void RunRedraw()
        {
            if (m_task != null)
            {
                m_cancel.Cancel();
                try { m_task.Wait(); } catch { } finally { m_cancel.Dispose(); }
            }

            m_cancel = new CancellationTokenSource();
            m_task   =
                Mandel.GeneratePicture(m_xbase, m_ybase, m_scale, ClientSize.Width, ClientSize.Height, m_cancel.Token)
                .ContinueWith(
                    t => GenerateEnd(t),
                    m_cancel.Token,
                    TaskContinuationOptions.OnlyOnRanToCompletion,
                    TaskScheduler.FromCurrentSynchronizationContext()
                    );

            statusInfoLabel.Text =
                "center X: " + m_xcenter + "\n" +
                "center Y: " + m_ycenter + "\n" +
                "units/pixel: " + m_scale + "\n";
        }