Pinta.LevelsDialog.UpdateLevels C# (CSharp) Method

UpdateLevels() private method

private UpdateLevels ( ) : void
return void
        private void UpdateLevels()
        {
            if(disable_updating)
                return;

            disable_updating = true;

            if(skip_counter == max_skip || !button_down) {

                Levels.ColorOutHigh = UpdateByMask (Levels.ColorOutHigh, (byte)spinOutHigh.Value);
                Levels.ColorOutLow = UpdateByMask (Levels.ColorOutLow, (byte)spinOutLow.Value);
                UpdateGammaByMask ((float) spinOutGamma.Value);

                Levels.ColorInHigh = UpdateByMask (Levels.ColorInHigh, (byte)spinInHigh.Value);
                Levels.ColorInLow = UpdateByMask (Levels.ColorInLow, (byte)spinInLow.Value);

                colorpanelInLow.SetCairoColor (Levels.ColorInLow.ToCairoColor ());
                colorpanelInHigh.SetCairoColor (Levels.ColorInHigh.ToCairoColor ());

                colorpanelOutLow.SetCairoColor (Levels.ColorOutLow.ToCairoColor ());
                colorpanelOutMid.SetCairoColor (GetOutMidColor ());
                colorpanelOutHigh.SetCairoColor (Levels.ColorOutHigh.ToCairoColor ());

                UpdateOutputHistogram ();
                skip_counter = 0;
            } else
                skip_counter++;

            GdkWindow.Invalidate ();
            disable_updating = false;
        }