Пример #1
0
        public override void PaintValue(PaintValueEventArgs e)
        {
            Graphics     g        = e.Graphics;
            GradientInfo gradient = (GradientInfo)e.Value;

            gradient.Draw(g, e.Bounds);
            g.DrawRectangleProper(Pens.Black, e.Bounds);
        }
Пример #2
0
        public GradientPickerForm(GradientInfo gradient)
        {
            Gradient = gradient;

            InitializeComponent();
            ShareXResources.ApplyTheme(this);

            cbGradientType.Items.AddRange(Helpers.GetEnumNamesProper <LinearGradientMode>());
            cbGradientType.SelectedIndex = (int)Gradient.Type;
            UpdateGradientList();
        }
Пример #3
0
        public GradientPickerForm(GradientInfo gradient)
        {
            Gradient = gradient;

            InitializeComponent();
            ShareXResources.ApplyTheme(this);

            cbGradientType.Items.AddRange(Helpers.GetLocalizedEnumDescriptions <LinearGradientMode>());
            cbGradientType.SelectedIndex = (int)Gradient.Type;
            UpdateGradientList(true);
            AddPresets();
        }
Пример #4
0
        private void AddPresets()
        {
            GradientInfo[] gradients = new GradientInfo[]
            {
                new GradientInfo(Color.FromArgb(184, 11, 195), Color.FromArgb(98, 54, 255)),
                new GradientInfo(Color.FromArgb(255, 3, 135), Color.FromArgb(255, 143, 3)),
                new GradientInfo(Color.FromArgb(0, 187, 138), Color.FromArgb(0, 105, 163)),

                new GradientInfo(Color.FromArgb(46, 49, 146), Color.FromArgb(27, 255, 255)),
                //new GradientInfo(Color.FromArgb(212, 20, 90), Color.FromArgb(251, 176, 59)),
                new GradientInfo(Color.FromArgb(0, 146, 69), Color.FromArgb(252, 238, 33)),
                new GradientInfo(Color.FromArgb(102, 45, 140), Color.FromArgb(237, 30, 121)),
                new GradientInfo(Color.FromArgb(238, 156, 167), Color.FromArgb(255, 221, 225)),
                new GradientInfo(Color.FromArgb(97, 67, 133), Color.FromArgb(81, 99, 149)),
                new GradientInfo(Color.FromArgb(2, 170, 189), Color.FromArgb(0, 205, 172)),
                new GradientInfo(Color.FromArgb(255, 81, 47), Color.FromArgb(221, 36, 118)),
                new GradientInfo(Color.FromArgb(255, 95, 109), Color.FromArgb(255, 195, 113)),
                new GradientInfo(Color.FromArgb(17, 153, 142), Color.FromArgb(56, 239, 125)),
                new GradientInfo(Color.FromArgb(198, 234, 141), Color.FromArgb(254, 144, 175)),
                new GradientInfo(Color.FromArgb(234, 141, 141), Color.FromArgb(168, 144, 254)),
                new GradientInfo(Color.FromArgb(216, 181, 255), Color.FromArgb(30, 174, 152)),
                new GradientInfo(Color.FromArgb(255, 97, 210), Color.FromArgb(254, 144, 144)),
                new GradientInfo(Color.FromArgb(191, 240, 152), Color.FromArgb(111, 214, 255)),
                new GradientInfo(Color.FromArgb(78, 101, 255), Color.FromArgb(146, 239, 253)),
                new GradientInfo(Color.FromArgb(169, 241, 223), Color.FromArgb(255, 187, 187)),
                new GradientInfo(Color.FromArgb(195, 55, 100), Color.FromArgb(29, 38, 113)),
                new GradientInfo(Color.FromArgb(147, 165, 207), Color.FromArgb(228, 239, 233)),
                new GradientInfo(Color.FromArgb(134, 143, 150), Color.FromArgb(89, 97, 100)),
                new GradientInfo(Color.FromArgb(9, 32, 63), Color.FromArgb(83, 120, 149)),
                new GradientInfo(Color.FromArgb(255, 236, 210), Color.FromArgb(252, 182, 159)),
                new GradientInfo(Color.FromArgb(161, 196, 253), Color.FromArgb(194, 233, 251)),
                new GradientInfo(Color.FromArgb(118, 75, 162), Color.FromArgb(102, 126, 234)),
                new GradientInfo(Color.FromArgb(253, 252, 251), Color.FromArgb(226, 209, 195)),

                new GradientInfo(Color.FromArgb(255, 0, 0), Color.FromArgb(255, 0, 255), Color.FromArgb(0, 0, 255), Color.FromArgb(0, 255, 255), Color.FromArgb(0, 255, 0), Color.FromArgb(255, 255, 0), Color.FromArgb(255, 0, 0))
            };

            lvPresets.Items.Clear();
            ilPresets.Images.Clear();

            for (int i = 0; i < gradients.Length; i++)
            {
                GradientInfo gradient = gradients[i];
                gradient.Type = Gradient.Type;
                ilPresets.Images.Add(gradient.CreateGradientPreview(100, 25, true));

                ListViewItem lvi = new ListViewItem();
                lvi.ImageIndex = i;
                lvi.Tag        = gradient;
                lvPresets.Items.Add(lvi);
            }
        }
Пример #5
0
 public GradientPickerForm(GradientInfo gradient)
 {
     Gradient = gradient;
     InitializeComponent();
     cbGradientType.Items.AddRange(Helpers.GetEnumNamesProper <LinearGradientMode>());
     cbGradientType.SelectedIndex = (int)Gradient.Type;
     foreach (GradientStop gradientStop in Gradient.Colors)
     {
         AddGradientStop(gradientStop);
     }
     isReady = true;
     UpdatePreview();
 }
Пример #6
0
 private void lvPresets_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (isReady && lvPresets.SelectedItems.Count > 0)
     {
         ListViewItem lvi = lvPresets.SelectedItems[0];
         if (lvi.Tag is GradientInfo gradientInfo)
         {
             Gradient = gradientInfo.Copy();
             UpdateGradientList(true);
             lvi.Selected = false;
         }
     }
 }
Пример #7
0
 public GradientPickerForm(GradientInfo gradient)
 {
     Gradient = gradient;
     InitializeComponent();
     cbGradientType.Items.AddRange(Helpers.GetEnumNamesProper<LinearGradientMode>());
     cbGradientType.SelectedIndex = (int)Gradient.Type;
     foreach (GradientStop gradientStop in Gradient.Colors)
     {
         AddGradientStop(gradientStop);
     }
     isReady = true;
     UpdatePreview();
 }
Пример #8
0
        public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
        {
            if (value.GetType() != typeof(GradientInfo))
            {
                return(value);
            }

            IWindowsFormsEditorService svc = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService));

            if (svc != null)
            {
                GradientInfo gradient = (GradientInfo)value;

                using (GradientPickerForm form = new GradientPickerForm(gradient.Copy()))
                {
                    if (svc.ShowDialog(form) == DialogResult.OK)
                    {
                        return(form.Gradient);
                    }
                }
            }

            return(value);
        }
Пример #9
0
        private void AddPresets()
        {
            GradientInfo[] gradients = new GradientInfo[]
            {
                new GradientInfo(new GradientStop(Color.FromArgb(184, 11, 195), 0f), new GradientStop(Color.FromArgb(98, 54, 255), 100f)),
                new GradientInfo(new GradientStop(Color.FromArgb(255, 3, 135), 0f), new GradientStop(Color.FromArgb(255, 143, 3), 100f)),
                new GradientInfo(new GradientStop(Color.FromArgb(0, 187, 138), 0f), new GradientStop(Color.FromArgb(0, 105, 163), 100f))
            };

            lvPresets.Items.Clear();
            ilPresets.Images.Clear();

            for (int i = 0; i < gradients.Length; i++)
            {
                GradientInfo gradient = gradients[i];
                gradient.Type = Gradient.Type;
                ilPresets.Images.Add(gradient.CreateGradientPreview(100, 25));

                ListViewItem lvi = new ListViewItem();
                lvi.ImageIndex = i;
                lvi.Tag        = gradient;
                lvPresets.Items.Add(lvi);
            }
        }
Пример #10
0
 private void AddDefaultGradient()
 {
     Gradient = new GradientInfo();
     Gradient.Colors.Add(new GradientStop(Color.FromArgb(68, 120, 194), 0f));
     Gradient.Colors.Add(new GradientStop(Color.FromArgb(13, 58, 122), 50f));
     Gradient.Colors.Add(new GradientStop(Color.FromArgb(6, 36, 78), 50f));
     Gradient.Colors.Add(new GradientStop(Color.FromArgb(23, 89, 174), 100f));
 }