Ejemplo n.º 1
0
        /// <summary>
        /// Show the dialog.
        /// </summary>
        /// <param name="color">(<see langword="out"/> parameter) The color selected.</param>
        /// <param name="flags">The flags that the control should enable.</param>
        /// <param name="customPreviewEventHandler">
        /// The event handler. The default value is <see langword="null"/>.
        /// </param>
        /// <returns>
        /// Return <see langword="true"/> if a user has chosen a color successfully;
        /// otherwise, <see langword="false"/> (i.e. user canceled).
        /// </returns>
        public static bool ShowDialog(
            [NotNullWhen(true)] out Color?color, ColorPickerOptions flags = None,
            PickingColorEventHandler?customPreviewEventHandler            = null)
        {
            if ((flags & LoadCustomPalette) == LoadCustomPalette)
            {
                ColorPickerSettings.UsingCustomPalette = true;
            }

            var instance = new ColorPicker();

            color = instance._colorPicker.Color;

            if ((flags & SimpleView) == SimpleView)
            {
                instance.ToggleSimpleAdvancedView();
            }

            if (ColorPickerSettings.UsingCustomPalette)
            {
                instance._colorPicker.LoadDefaultCustomPalette();
            }

            if (!(customPreviewEventHandler is null))
            {
                instance._colorPicker.PickingColor += customPreviewEventHandler;
            }

            if (instance.ShowDialog() is true)
            {
                color = instance._colorPicker.Color ?? default;
                return(true);
            }

            return(false);
        }
Ejemplo n.º 2
0
        public TextDrawingInputBox(string text, TextDrawingOptions options, bool supportGradient, ColorPickerOptions colorPickerOptions)
        {
            InitializeComponent();
            ShareXResources.ApplyTheme(this);

            InputText          = text;
            Options            = options;
            ColorPickerOptions = colorPickerOptions;

            if (InputText != null)
            {
                txtInput.Text = InputText;
            }

            UpdateInputBox();

            cbFonts.Items.AddRange(FontFamily.Families.Select(x => x.Name).ToArray());

            if (cbFonts.Items.Contains(Options.Font))
            {
                cbFonts.SelectedItem = Options.Font;
            }
            else
            {
                cbFonts.SelectedItem = AnnotationOptions.DefaultFont;
            }

            nudTextSize.SetValue(Options.Size);

            btnTextColor.ColorPickerOptions = ColorPickerOptions;
            btnTextColor.Color = Options.Color;

            btnGradient.Visible = supportGradient;

            if (supportGradient)
            {
                tsmiEnableGradient.Checked = Options.Gradient;

                tsmiSecondColor.Image = ImageHelpers.CreateColorPickerIcon(Options.Color2, new Rectangle(0, 0, 16, 16));

                switch (Options.GradientMode)
                {
                case LinearGradientMode.Horizontal:
                    tsrbmiGradientHorizontal.Checked = true;
                    break;

                case LinearGradientMode.Vertical:
                    tsrbmiGradientVertical.Checked = true;
                    break;

                case LinearGradientMode.ForwardDiagonal:
                    tsrbmiGradientForwardDiagonal.Checked = true;
                    break;

                case LinearGradientMode.BackwardDiagonal:
                    tsrbmiGradientBackwardDiagonal.Checked = true;
                    break;
                }
            }

            cbBold.Checked      = Options.Bold;
            cbItalic.Checked    = Options.Italic;
            cbUnderline.Checked = Options.Underline;

            UpdateButtonImages();
            UpdateEnterTip();

            txtInput.SupportSelectAll();
        }