示例#1
0
        private void ResetButton_Click(object sender, RoutedEventArgs e)
        {
            if (mode == LevelMode.RGB)
            {
                range.mid[0] = 0.5f;
                range.max[0] = 1;
                range.min[0] = 0;

                range.mid[1] = 0.5f;
                range.max[1] = 1;
                range.min[1] = 0;

                range.mid[2] = 0.5f;
                range.max[2] = 1;
                range.min[2] = 0;
            }
            else
            {
                int g = (int)mode;
                range.min[g] = 0;
                range.max[g] = 1;
                range.mid[g] = 0.5f;
            }

            MultiSlider.Set(0, 0.5f, 1);
            property.SetValue(propertyOwner, range);
        }
示例#2
0
        public UILevels(RawBitmap fromBitmap, object owner, PropertyInfo p)
        {
            InitializeComponent();
            mode          = LevelMode.RGB;
            property      = p;
            propertyOwner = owner;
            range         = (MultiRange)p.GetValue(owner);

            fromBit = fromBitmap;
            MultiSlider.Set(range.min[0], range.mid[0], range.max[0]);

            inputFromUser = false;
        }
示例#3
0
        private void ResetButton_Click(object sender, RoutedEventArgs e)
        {
            if (mode == LevelMode.RGB)
            {
                range.mid[0] = 0.5f;
                range.max[0] = 1;
                range.min[0] = 0;

                range.mid[1] = 0.5f;
                range.max[1] = 1;
                range.min[1] = 0;

                range.mid[2] = 0.5f;
                range.max[2] = 1;
                range.min[2] = 0;
            }
            else
            {
                int g = (int)mode;
                range.min[g] = 0;
                range.max[g] = 1;
                range.mid[g] = 0.5f;
            }

            range.min[3] = 0;
            range.max[3] = 1;

            MultiSlider.Set(0, 0.5f, 1);
            ValueRange.Set(0, 1);

            if (ctk != null)
            {
                ctk.Cancel();
            }

            ctk = new CancellationTokenSource();

            Task.Delay(250, ctk.Token).ContinueWith(t =>
            {
                if (t.IsCanceled)
                {
                    return;
                }

                Application.Current.Dispatcher.Invoke(() =>
                {
                    property.SetValue(propertyOwner, range);
                });
            });
        }
示例#4
0
        void IComponentConnector.Connect(int connectionId, object target)
        {
            switch (connectionId)
            {
            case 1:
                ((CommandBinding)target).Executed += new ExecutedRoutedEventHandler(this.AddGradientStop);
                break;

            case 2:
                ((CommandBinding)target).Executed += new ExecutedRoutedEventHandler(this.RestoreGradientStop);
                break;

            case 3:
                ((CommandBinding)target).Executed += new ExecutedRoutedEventHandler(this.RemoveGradientStop);
                break;

            case 4:
                this.TabbedColorEditor = (TabbedColorEditorControl)target;
                break;

            case 5:
                this.GradientEditorMultiSlider = (MultiSlider)target;
                break;

            case 6:
                this.ReverseGradientStopsButton = (Button)target;
                break;

            case 7:
                this.SelectPreviousGradientStopButton = (Button)target;
                break;

            case 8:
                this.GradientStopIterator = (Icon)target;
                break;

            case 9:
                this.SelectNextGradientStopButton = (Button)target;
                break;

            case 10:
                this.GradientStopOffsetEditor = (PropertyContainer)target;
                break;

            default:
                this._contentLoaded = true;
                break;
            }
        }
示例#5
0
        private void Channels_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            ComboBoxItem item = (ComboBoxItem)Channels.SelectedItem;
            string       c    = (string)item.Content;

            mode = (LevelMode)Enum.Parse(typeof(LevelMode), c);

            if (mode != LevelMode.RGB)
            {
                int g = (int)mode;
                MultiSlider.Set(range.min[g], range.mid[g], range.max[g]);
            }
            else
            {
                MultiSlider.Set(range.min[0], range.mid[0], range.max[0]);
            }

            //build histogram
            Histogram.Mode = mode;
        }
示例#6
0
 void OnDisable()
 {
     _slider.HandleSelected -= OnHandleSelected;
     _slider = null;
 }
示例#7
0
 void OnEnable()
 {
     _slider = GetComponentInParent <MultiSlider>();
     _slider.HandleSelected += OnHandleSelected;
 }
 void OnDisable()
 {
     Palette.Instance.ColorSelected -= ChangeColor;
     _slider.HandleSelected         -= OnHandleSelected;
     _slider = null;
 }
示例#9
0
 private void UserControl_SizeChanged(object sender, SizeChangedEventArgs e)
 {
     MultiSlider.SetButtonPositions();
 }