예제 #1
0
        void AddHandle(Point p, MVector c, bool updateProperty = false)
        {
            GradientHandle h = new GradientHandle();

            h.Position = (float)Math.Min(1, Math.Max(0, (p.X / (HandleHolder.ActualWidth - 4))));
            h.SetColor(c);
            h.MouseDown      += H_MouseDown;
            h.OnColorChanged += H_OnColorChanged;
            handles.Add(h);
            HandleHolder.Children.Add(h);
            Canvas.SetLeft(h, h.Position * (HandleHolder.ActualWidth - 4));

            UpdateGradientPreview(updateProperty);
        }
예제 #2
0
        void AddHandle(System.Windows.Point p, MVector c, bool updateProperty = false)
        {
            GradientHandle h = new GradientHandle();

            h.HorizontalAlignment = HorizontalAlignment.Left;
            h.VerticalAlignment   = VerticalAlignment.Top;
            h.Position            = (float)Math.Min(1, Math.Max(0, ((p.X + HANDLE_HALF_WIDTH) / HandleHolder.ActualWidth)));
            h.SetColor(c);
            h.MouseDown      += H_MouseDown;
            h.OnColorChanged += H_OnColorChanged;
            handles.Add(h);
            HandleHolder.Children.Add(h);
            Canvas.SetLeft(h, h.Position * HandleHolder.ActualWidth - HANDLE_HALF_WIDTH);

            UpdateGradientPreview(updateProperty);
        }