Ejemplo n.º 1
0
        private void HandleGradientOutputValueChanged(object sender, IndexEventArgs e)
        {
            if (gradientOutput.ValueIndex != -1 && gradientOutput.ValueIndex != e.Index)
                return;

            int val = gradientOutput.GetValue (e.Index);
            int hi = gradientOutput.GetValue (2);
            int lo = gradientOutput.GetValue (0);
            int med = FromGammaValue ();

            switch (e.Index) {
            case 0 :
                spinOutLow.Value = val;
                gradientOutput.SetValue (1, med);
                break;

            case 1 :
                med = gradientOutput.GetValue (1);
                spinOutGamma.Value = Utility.Clamp(1 / Math.Log (0.5, (float)(med - lo) / (float)(hi - lo)), 0.1, 10.0);
                break;

            case 2 :
                spinOutHigh.Value = val;
                gradientOutput.SetValue (1, med);
                break;
            }

            UpdateLevels ();
        }
Ejemplo n.º 2
0
        private void HandleGradientInputValueChanged(object sender, IndexEventArgs e)
        {
            int val = gradientInput.GetValue (e.Index);

            if (e.Index == 0)
                spinInLow.Value = val;
            else
                spinInHigh.Value = val;

            UpdateLevels ();
        }