Esempio n. 1
0
        private void blackColorBP_Click(object sender, EventArgs e)
        {
            if (dialogActive)
            {
                colorDlg.Focus();
                return;
            }

            dialogActive         = true;
            colorDlg             = new STColorDialog(blackColorBP.Color);
            colorDlg.FormClosed += delegate
            {
                dialogActive = false;
            };
            colorDlg.ColorChanged += delegate
            {
                blackColorBP.Color = colorDlg.NewColor;
                ActiveMaterial.BlackColor.Color = colorDlg.NewColor;

                //Apply to all selected panes
                foreach (BasePane pane in ParentEditor.SelectedPanes)
                {
                    var mat = pane.TryGetActiveMaterial();
                    if (mat != null)
                    {
                        mat.BlackColor.Color = colorDlg.NewColor;
                    }
                }

                ParentEditor.PropertyChanged?.Invoke(sender, e);
            };
            colorDlg.Show();
        }
Esempio n. 2
0
            private Control CreateColorBox(object value, PropertyInfo property)
            {
                ColorControl colorCtrl = new ColorControl(value, property);

                PictureBox pb = new PictureBox();

                pb.DataBindings.Add("BackColor", colorCtrl.Color, "Color", false, DataSourceUpdateMode.OnPropertyChanged);

                pb.Width  = 22;
                pb.Height = 22;
                pb.Click += (sender, args) => {
                    STColorDialog dlg = new STColorDialog(pb.BackColor);
                    dlg.ColorChanged += (s, a) => {
                        pb.BackColor    = dlg.NewColor;
                        colorCtrl.Color = new STColor8(dlg.NewColor);
                    };
                    dlg.Show();
                };

                return(pb);
            }
        private void blackColorBP_Click(object sender, EventArgs e)
        {
            if (dialogActive)
            {
                colorDlg.Focus();
                return;
            }

            dialogActive         = true;
            colorDlg             = new STColorDialog(blackColorBP.Color);
            colorDlg.FormClosed += delegate
            {
                dialogActive = false;
            };
            colorDlg.ColorChanged += delegate
            {
                blackColorBP.Color = colorDlg.NewColor;
                ActiveMaterial.BlackColor.Color = colorDlg.NewColor;
                ParentEditor.PropertyChanged?.Invoke(sender, e);
            };
            colorDlg.Show();
        }
Esempio n. 4
0
        private void backgroundPB_Click(object sender, EventArgs e)
        {
            if (dialogActive)
            {
                colorDlg.Focus();
                return;
            }

            dialogActive = true;
            colorDlg     = new STColorDialog(((PictureBox)sender).BackColor);
            colorDlg.AllowTransparency = false;
            colorDlg.FormClosed       += delegate
            {
                dialogActive = false;
            };
            colorDlg.ColorChanged += delegate
            {
                ((PictureBox)sender).BackColor      = colorDlg.ColorRGB;
                Runtime.ImageEditor.BackgroundColor = colorDlg.ColorRGB;
                UpdateBackgroundImage();
            };
            colorDlg.Show();
        }
Esempio n. 5
0
        private void ColorPB_Click(object sender, EventArgs e)
        {
            if (dialogActive)
            {
                colorDlg.Focus();
                return;
            }
            dialogActive = true;
            if (sender is ColorAlphaBox)
            {
                colorDlg = new STColorDialog(((ColorAlphaBox)sender).Color);
            }

            colorDlg.FormClosed += delegate
            {
                dialogActive = false;
            };
            colorDlg.ColorChanged += delegate
            {
                ((ColorAlphaBox)sender).Color = colorDlg.NewColor;

                ApplyColors(ActiveMaterial, sender);

                //Apply to all selected panes
                foreach (BasePane pane in ParentEditor.SelectedPanes)
                {
                    var mat = pane.TryGetActiveMaterial() as Revolution.Material;
                    if (mat != null)
                    {
                        ApplyColors(mat, sender);
                    }
                }

                ParentEditor.PropertyChanged?.Invoke(sender, e);
            };
            colorDlg.Show();
        }