SDRSharper/SDRSharper.PanView/SDRSharp.PanView/GradientDialog.cs
SDRSharpR c07e6e6034 SDRSharper (SDRSharp Remake) Full Source (VS2017)
SDRSharper (SDRSharp Remake) Full Source (VS2017)
2018-03-26 14:02:05 -07:00

1037 lines
35 KiB
C#

using SDRSharp.Radio;
using System;
using System.ComponentModel;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Windows.Forms;
namespace SDRSharp.PanView
{
public class GradientDialog : Form
{
public delegate void ManualGradientChange(object sender, GradientEventArgs e);
private static int _blendIndex = -1;
private static ColorBlend[] _blends;
private static int[] _traceColors;
private static int[] _backgrounds;
private static int[] _spectrumFill;
private static GradientDialog _form;
private bool _editColor;
private bool _editGradient;
private bool _editTrace;
private bool _editBackground;
private static Bitmap _hslBitmap;
private static Bitmap _original;
private static Graphics _graphics;
private static int _saturation = -1;
private bool _moving0;
private bool _moving1;
private bool _save;
private int _x0;
private int _y0;
private int _x1;
private int _y1;
private IContainer components;
private ListBox colorListBox;
private Button upButton;
private Button downButton;
private PictureBox gradientPictureBox;
private Button addButton;
private Button deleteButton;
private Button cancelButton;
private ColorDialog colorDialog;
private RadioButton btn1;
private RadioButton btn2;
private RadioButton btn3;
private RadioButton btn4;
private RadioButton btn5;
private Button traceButton;
private Button backgroundButton;
private ComboBox cmbFill;
private Label labFill;
private Label label2;
private PictureBox picBox;
private GroupBox groupBox1;
private Button saButton;
private Button wfButton;
private Button agButton;
private ToolTip toolTip;
private TrackBar trackBar;
private Button fastButton;
private Button okButton;
public static event ManualGradientChange GradientChanged;
private GradientDialog()
{
this.InitializeComponent();
this.drawHslBitmap(100);
this.picBox.BackgroundImage = GradientDialog._hslBitmap;
GradientDialog._original = (Bitmap)GradientDialog._hslBitmap.Clone();
GradientDialog._graphics = Graphics.FromImage(GradientDialog._hslBitmap);
}
private void picBox_MouseDown(object sender, MouseEventArgs e)
{
if (Math.Abs(e.X - this._x0) < 5 && Math.Abs(e.Y - this._y0) < 5)
{
this._moving0 = true;
}
else if (Math.Abs(e.X - this._x1) < 5 && Math.Abs(e.Y - this._y1) < 5)
{
this._moving1 = true;
}
}
private void picBox_MouseUp(object sender, MouseEventArgs e)
{
this._moving0 = false;
this._moving1 = false;
}
private void picBox_MouseMove(object sender, MouseEventArgs e)
{
if ((Math.Abs(e.X - this._x0) >= 5 || Math.Abs(e.Y - this._y0) >= 5) && !this._moving0 && (Math.Abs(e.X - this._x1) >= 5 || Math.Abs(e.Y - this._y1) >= 5) && !this._moving1)
{
this.Cursor = Cursors.Default;
goto IL_007c;
}
this.Cursor = Cursors.Cross;
goto IL_007c;
IL_007c:
if (e.Button == MouseButtons.Left)
{
int num = Math.Max(0, Math.Min(GradientDialog._hslBitmap.Width - 1, e.X));
int num2 = Math.Max(0, Math.Min(GradientDialog._hslBitmap.Height - 1, e.Y));
if (this._moving0)
{
this._x0 = num;
this._y0 = num2;
}
else
{
if (!this._moving1)
{
return;
}
this._x1 = num;
this._y1 = num2;
}
if (this._editColor || this._editTrace || this._editBackground)
{
GradientDialog._graphics.DrawImageUnscaled(GradientDialog._original, 0, 0);
GradientDialog._graphics.DrawRectangle(((double)this._y0 > (double)this.picBox.Height * 0.5) ? Pens.White : Pens.Black, this._x0 - 4, this._y0 - 4, 8, 8);
this.picBox.Invalidate();
Color pixel = GradientDialog._original.GetPixel(num, num2);
if (this._editTrace)
{
this.traceButton.BackColor = pixel;
}
else if (this._editBackground)
{
this.backgroundButton.BackColor = pixel;
}
else if (this.colorListBox.SelectedIndex >= 0)
{
this.colorListBox.Items[this.colorListBox.SelectedIndex] = pixel;
}
this.gradientPictureBox.Invalidate();
this.signalGradientChanged();
}
else if (this._editGradient)
{
GradientDialog._graphics.DrawImageUnscaled(GradientDialog._original, 0, 0);
GradientDialog._graphics.DrawRectangle(((double)this._y0 > (double)this.picBox.Height * 0.5) ? Pens.White : Pens.Black, this._x0 - 4, this._y0 - 4, 8, 8);
GradientDialog._graphics.DrawRectangle(((double)this._y1 > (double)this.picBox.Height * 0.5) ? Pens.White : Pens.Black, this._x1 - 4, this._y1 - 4, 8, 8);
GradientDialog._graphics.DrawLine(Pens.Gray, this._x0, this._y0, this._x1, this._y1);
this.picBox.Invalidate();
int num3 = (Math.Abs(this._x1 - this._x0) < GradientDialog._hslBitmap.Width / 2 || Math.Abs(this._y1 - this._y0) < GradientDialog._hslBitmap.Height / 2) ? 6 : 9;
this.colorListBox.Items.Clear();
this.colorListBox.SelectedIndex = -1;
for (int i = 0; i <= num3; i++)
{
Color pixel2 = GradientDialog._original.GetPixel(this._x1 - i * (this._x1 - this._x0) / num3, this._y1 - i * (this._y1 - this._y0) / num3);
this.colorListBox.Items.Add(pixel2);
}
this.gradientPictureBox.Invalidate();
this.signalGradientChanged();
}
}
}
public static void ShowGradient(int blendIndex, ColorBlend[] blends, int[] backgrounds, int[] traceColors, int[] spectrumFill, string parent)
{
GradientDialog._blends = new ColorBlend[blends.GetUpperBound(0)];
GradientDialog._blendIndex = Math.Abs(blendIndex);
GradientDialog._blends = blends;
GradientDialog._backgrounds = backgrounds;
GradientDialog._traceColors = traceColors;
GradientDialog._spectrumFill = spectrumFill;
if (GradientDialog._form == null || GradientDialog._form.IsDisposed)
{
GradientDialog._form = new GradientDialog();
}
GradientDialog._form.TopMost = true;
GradientDialog._form.Text = parent + " color editor";
string a = parent.Substring(0, 1);
GradientDialog._form.saButton.BackColor = ((a != "S") ? SystemColors.Control : Color.LightGreen);
GradientDialog._form.wfButton.BackColor = ((a != "W") ? SystemColors.Control : Color.LightGreen);
GradientDialog._form.agButton.BackColor = ((a != "A") ? SystemColors.Control : Color.LightGreen);
if (a != "S")
{
GradientDialog._form.trackBar.Top = GradientDialog._form.groupBox1.Top + 4;
}
else
{
GradientDialog._form.trackBar.Top = GradientDialog._form.groupBox1.Top + GradientDialog._form.groupBox1.Height - GradientDialog._form.picBox.Height - GradientDialog._form.trackBar.Height - 4;
}
GradientDialog._form.picBox.Top = GradientDialog._form.trackBar.Top + GradientDialog._form.trackBar.Height;
for (int i = 1; i <= 5; i++)
{
RadioButton radioButton = (RadioButton)GradientDialog._form.Controls["btn" + i.ToString()];
radioButton.Checked = false;
if (i == GradientDialog._blendIndex)
{
radioButton.Checked = true;
}
}
GradientDialog._form.okButton.Enabled = false;
if (!GradientDialog._form.Visible)
{
GradientDialog._form.ShowDialog();
}
else
{
GradientDialog._form.Activate();
}
}
public static void CloseGradient()
{
if (GradientDialog._form != null && !GradientDialog._form.IsDisposed)
{
GradientDialog._form.Close();
}
}
private ColorBlend GetColorBlend()
{
ColorBlend colorBlend = new ColorBlend(this.colorListBox.Items.Count);
float num = 1f / (float)(colorBlend.Positions.Length - 1);
for (int i = 0; i < colorBlend.Positions.Length; i++)
{
colorBlend.Positions[i] = (float)i * num;
colorBlend.Colors[i] = (Color)this.colorListBox.Items[i];
}
return colorBlend;
}
private void SetColorBlend(ColorBlend colorBlend)
{
this.colorListBox.Items.Clear();
this.colorListBox.SelectedIndex = -1;
for (int i = 0; i < colorBlend.Positions.Length; i++)
{
this.colorListBox.Items.Add(colorBlend.Colors[i]);
}
}
private void colorListBox_DrawItem(object sender, DrawItemEventArgs e)
{
if (e.Index >= 0)
{
Color color = (Color)this.colorListBox.Items[e.Index];
using (SolidBrush brush = new SolidBrush(color))
{
e.Graphics.FillRectangle(brush, e.Bounds.Left + 1, e.Bounds.Top + 1, e.Bounds.Width - 2, e.Bounds.Height - 1);
}
if ((e.State & DrawItemState.Selected) != 0)
{
e.Graphics.DrawRectangle(((double)color.GetBrightness() < 0.5) ? Pens.White : Pens.Black, e.Bounds.Left + 2, e.Bounds.Top + 2, e.Bounds.Width - 5, e.Bounds.Height - 3);
}
}
}
private void signalGradientChanged()
{
this.okButton.Enabled = true;
if (base.Visible && GradientDialog.GradientChanged != null)
{
int num = GradientDialog._blendIndex - 1;
GradientDialog._blends[num] = GradientDialog._form.GetColorBlend();
GradientDialog._traceColors[num] = this.traceButton.BackColor.ToArgb();
GradientDialog._backgrounds[num] = this.backgroundButton.BackColor.ToArgb();
GradientDialog._spectrumFill[num] = GradientDialog._form.cmbFill.SelectedIndex;
string text = this.Text.Substring(0, 1);
if (text == " ")
{
text = "S";
}
GradientDialog.GradientChanged(this, new GradientEventArgs(text, GradientDialog._blendIndex, GradientDialog._blends[num], GradientDialog._backgrounds[num], GradientDialog._traceColors[num], GradientDialog._spectrumFill[num]));
}
}
private void upButton_Click(object sender, EventArgs e)
{
if (this.colorListBox.SelectedIndex < 0)
{
MessageBox.Show("Please, select color to move.");
}
else if (this.colorListBox.SelectedIndex > 0)
{
int selectedIndex = this.colorListBox.SelectedIndex;
object item = this.colorListBox.Items[selectedIndex];
this.colorListBox.Items.RemoveAt(selectedIndex);
this.colorListBox.Items.Insert(selectedIndex - 1, item);
this.colorListBox.SelectedIndex = selectedIndex - 1;
this.gradientPictureBox.Invalidate();
this.signalGradientChanged();
}
}
private void downButton_Click(object sender, EventArgs e)
{
if (this.colorListBox.SelectedIndex < 0)
{
MessageBox.Show("Please, select color to move.");
}
else if (this.colorListBox.SelectedIndex < this.colorListBox.Items.Count - 1)
{
int selectedIndex = this.colorListBox.SelectedIndex;
object item = this.colorListBox.Items[selectedIndex];
this.colorListBox.Items.RemoveAt(selectedIndex);
this.colorListBox.Items.Insert(selectedIndex + 1, item);
this.colorListBox.SelectedIndex = selectedIndex + 1;
this.gradientPictureBox.Invalidate();
this.signalGradientChanged();
}
}
private void fastButton_Click(object sender, EventArgs e)
{
this.deleteButton.Enabled = false;
this.upButton.Enabled = false;
this.downButton.Enabled = false;
this.colorListBox.SelectedIndex = -1;
this._editGradient = false;
this._editColor = false;
this._editTrace = false;
this._editBackground = false;
this.drawHslLine(this.GetColorBlend(), -1);
this._editGradient = true;
this.picBox.Enabled = true;
this.trackBar.Enabled = true;
}
private void addButton_Click(object sender, EventArgs e)
{
Color color = (this.colorListBox.Items.Count == 0) ? Color.White : ((Color)this.colorListBox.Items[this.colorListBox.Items.Count - 1]);
if (this.colorListBox.SelectedIndex >= 0)
{
color = (Color)this.colorListBox.Items[this.colorListBox.SelectedIndex];
}
this.colorListBox.Items.Insert(this.colorListBox.SelectedIndex, color);
this.colorListBox.SelectedIndex--;
this.drawHslPoint(color, -1);
this._editGradient = false;
this._editColor = true;
this._editTrace = false;
this._editBackground = false;
this.picBox.Enabled = true;
this.trackBar.Enabled = true;
this.signalGradientChanged();
}
private void deleteButton_Click(object sender, EventArgs e)
{
if (this.colorListBox.SelectedIndex < 0)
{
MessageBox.Show("Please, select color to delete first.");
}
else if (this.colorListBox.Items.Count <= 2)
{
MessageBox.Show("Minumum number of gradient colors is two.");
}
else
{
int selectedIndex = this.colorListBox.SelectedIndex;
this.colorListBox.Items.RemoveAt(this.colorListBox.SelectedIndex);
this.colorListBox.SelectedIndex = Math.Min(selectedIndex, this.colorListBox.Items.Count - 1);
this.gradientPictureBox.Invalidate();
this.signalGradientChanged();
}
}
private void gradientPictureBox_Paint(object sender, PaintEventArgs e)
{
ColorBlend colorBlend = this.GetColorBlend();
using (LinearGradientBrush linearGradientBrush = new LinearGradientBrush(this.gradientPictureBox.ClientRectangle, Color.White, Color.Black, LinearGradientMode.Vertical))
{
linearGradientBrush.InterpolationColors = colorBlend;
e.Graphics.FillRectangle(linearGradientBrush, e.ClipRectangle);
}
}
private void btnGradient_CheckedChanged(object sender, EventArgs e)
{
RadioButton radioButton = (RadioButton)sender;
if (radioButton.Checked)
{
int.TryParse(radioButton.Text, out GradientDialog._blendIndex);
int num = GradientDialog._blendIndex - 1;
this.SetColorBlend(GradientDialog._blends[num]);
this.backgroundButton.BackColor = Color.FromArgb(GradientDialog._backgrounds[num]);
this.traceButton.BackColor = Color.FromArgb(GradientDialog._traceColors[num]);
this.cmbFill.SelectedIndex = GradientDialog._spectrumFill[num];
this.gradientPictureBox.Invalidate();
this.signalGradientChanged();
this.deleteButton.Enabled = false;
this.upButton.Enabled = false;
this.downButton.Enabled = false;
GradientDialog._graphics.FillRectangle(Brushes.Gray, 0, 0, GradientDialog._hslBitmap.Width, GradientDialog._hslBitmap.Height);
this._editGradient = false;
this._editColor = false;
this._editTrace = false;
this._editBackground = false;
this.picBox.Enabled = false;
this.trackBar.Enabled = false;
this.picBox.Invalidate();
}
}
private void traceButton_Click(object sender, EventArgs e)
{
this.drawHslPoint(this.traceButton.BackColor, -1);
this._editGradient = false;
this._editColor = false;
this._editTrace = true;
this._editBackground = false;
this.picBox.Enabled = true;
this.trackBar.Enabled = true;
}
private void backgroundButton_Click(object sender, EventArgs e)
{
this.drawHslPoint(this.backgroundButton.BackColor, -1);
this._editGradient = false;
this._editColor = false;
this._editTrace = false;
this._editBackground = true;
this.picBox.Enabled = true;
this.trackBar.Enabled = true;
}
private void cmbFill_SelectedIndexChanged(object sender, EventArgs e)
{
if (GradientDialog._spectrumFill[GradientDialog._blendIndex - 1] < 2 && this.cmbFill.SelectedIndex > 1)
{
MessageBox.Show("Note: selecting one of the dynamic fill colors may impact performance on older systems.");
}
this.signalGradientChanged();
}
private void colorListBox_Click(object sender, EventArgs e)
{
this.deleteButton.Enabled = true;
this.upButton.Enabled = true;
this.downButton.Enabled = true;
Color color = (Color)this.colorListBox.Items[this.colorListBox.SelectedIndex];
this._editGradient = false;
this._editColor = false;
this._editTrace = false;
this._editBackground = false;
this.drawHslPoint(color, -1);
this.picBox.Enabled = true;
this.trackBar.Enabled = true;
this._editColor = true;
}
private void saButton_Click(object sender, EventArgs e)
{
if (GradientDialog.GradientChanged != null)
{
GradientDialog.GradientChanged(this, new GradientEventArgs("S", -1, GradientDialog._blends[0], 0, 0, 0));
}
}
private void wfButton_Click(object sender, EventArgs e)
{
if (GradientDialog.GradientChanged != null)
{
GradientDialog.GradientChanged(this, new GradientEventArgs("W", -1, GradientDialog._blends[0], 0, 0, 0));
}
}
private void agButton_Click(object sender, EventArgs e)
{
if (GradientDialog.GradientChanged != null)
{
GradientDialog.GradientChanged(this, new GradientEventArgs("A", -1, GradientDialog._blends[0], 0, 0, 0));
}
}
private void trackBar_ValueChanged(object sender, EventArgs e)
{
if (this._editTrace)
{
this.drawHslPoint(this.traceButton.BackColor, this.trackBar.Value);
}
else if (this._editBackground)
{
this.drawHslPoint(this.backgroundButton.BackColor, this.trackBar.Value);
}
else if (this._editColor)
{
this.drawHslPoint((Color)this.colorListBox.Items[this.colorListBox.SelectedIndex], this.trackBar.Value);
}
else if (this._editGradient)
{
this.drawHslLine(this.GetColorBlend(), this.trackBar.Value);
}
}
private void drawHslBitmap(int saturation)
{
if (saturation == GradientDialog._saturation)
{
GradientDialog._graphics.DrawImageUnscaled(GradientDialog._original, 0, 0);
}
else
{
if (GradientDialog._hslBitmap == null)
{
GradientDialog._hslBitmap = new Bitmap(this.picBox.Width, this.picBox.Height);
}
float s = (float)saturation / 100f;
for (int i = 0; i < GradientDialog._hslBitmap.Height; i++)
{
for (int j = 0; j < GradientDialog._hslBitmap.Width; j++)
{
float h = (float)j / (float)GradientDialog._hslBitmap.Width;
float l = (float)(GradientDialog._hslBitmap.Height - i) / (float)GradientDialog._hslBitmap.Height;
Color color = Utils.HslToRgb(h, s, l);
GradientDialog._hslBitmap.SetPixel(j, i, color);
}
}
GradientDialog._original = (Bitmap)GradientDialog._hslBitmap.Clone();
GradientDialog._saturation = saturation;
}
}
private void drawHslLine(ColorBlend blend, int sat = -1)
{
int num = sat;
Color color = blend.Colors[blend.Colors.Length - 1];
Color color2 = blend.Colors[0];
float num2 = color.GetHue() / 360f;
float num3 = color.GetSaturation();
float brightness = color.GetBrightness();
float num4 = color2.GetHue() / 360f;
float saturation = color2.GetSaturation();
float brightness2 = color2.GetBrightness();
if ((double)num3 < 0.001)
{
num2 = 0.5f;
}
if ((double)brightness < 0.001 || (double)brightness > 0.999)
{
num3 = 1f;
}
if ((double)saturation < 0.001)
{
num4 = 0.5f;
}
if ((double)brightness2 < 0.001 || (double)brightness2 > 0.999)
{
saturation = 1f;
}
if ((double)brightness < 0.001 || (double)brightness > 0.999)
{
int num5 = this.colorListBox.Items.Count / 2;
float num6 = ((Color)this.colorListBox.Items[num5]).GetHue() / 360f;
num2 = Math.Max(0f, Math.Min(1f, num4 + (num6 - num4) / (float)num5 * (float)(this.colorListBox.Items.Count - 1)));
}
if ((double)brightness2 < 0.001 || (double)brightness2 > 0.999)
{
int num7 = this.colorListBox.Items.Count / 2;
float num8 = ((Color)this.colorListBox.Items[num7]).GetHue() / 360f;
num4 = Math.Max(0f, Math.Min(1f, num2 + (num8 - num2) / (float)num7 * (float)(this.colorListBox.Items.Count - 1)));
}
if (num < 0)
{
sat = (int)(num3 * 100f);
this.trackBar.Value = sat;
this._x0 = (int)(num2 * (float)(this.picBox.Width - 1));
this._y0 = this.picBox.Height - 1 - (int)(brightness * (float)(this.picBox.Height - 1));
this._x1 = (int)(num4 * (float)(this.picBox.Width - 1));
this._y1 = this.picBox.Height - 1 - (int)(brightness2 * (float)(this.picBox.Height - 1));
}
this.drawHslBitmap(sat);
GradientDialog._graphics.DrawRectangle((brightness < 0.5f) ? Pens.White : Pens.Black, this._x0 - 4, this._y0 - 4, 8, 8);
GradientDialog._graphics.DrawRectangle((brightness2 < 0.5f) ? Pens.White : Pens.Black, this._x1 - 4, this._y1 - 4, 8, 8);
GradientDialog._graphics.DrawLine(Pens.Gray, this._x0, this._y0, this._x1, this._y1);
this.picBox.Invalidate();
if (num >= 0 && this.colorListBox.Items.Count > 1)
{
int count = this.colorListBox.Items.Count;
for (int i = 0; i < count; i++)
{
this.colorListBox.Items[i] = GradientDialog._original.GetPixel(this._x1 - i * (this._x1 - this._x0) / count, this._y1 - i * (this._y1 - this._y0) / count);
}
this.gradientPictureBox.Invalidate();
this.signalGradientChanged();
}
}
private void drawHslPoint(Color color, int sat = -1)
{
int num = sat;
float num2 = color.GetHue() / 360f;
float num3 = color.GetSaturation();
float brightness = color.GetBrightness();
if ((double)num3 < 0.001)
{
num2 = 0.5f;
}
if ((double)brightness < 0.001 || (double)brightness > 0.999)
{
num3 = 1f;
}
if (num < 0)
{
sat = (int)(num3 * 100f);
this.trackBar.Value = sat;
this._x0 = (int)(num2 * (float)(this.picBox.Width - 1));
this._y0 = this.picBox.Height - 1 - (int)(brightness * (float)(this.picBox.Height - 1));
this._x1 = -999;
this._y1 = -999;
}
this.drawHslBitmap(sat);
GradientDialog._graphics.DrawRectangle((brightness < 0.5f) ? Pens.White : Pens.Black, this._x0 - 4, this._y0 - 4, 8, 8);
this.picBox.Invalidate();
if (num >= 0)
{
color = GradientDialog._original.GetPixel(this._x0, this._y0);
if (this._editTrace)
{
this.traceButton.BackColor = color;
}
else if (this._editBackground)
{
this.backgroundButton.BackColor = color;
}
else if (this._editColor && this.colorListBox.SelectedIndex >= 0)
{
this.colorListBox.Items[this.colorListBox.SelectedIndex] = color;
}
this.gradientPictureBox.Invalidate();
this.signalGradientChanged();
}
}
private void closeButton_Click(object sender, EventArgs e)
{
this._save = false;
}
private void saveButton_Click(object sender, EventArgs e)
{
this._save = true;
}
private void GradientDialog_FormClosing(object sender, FormClosingEventArgs e)
{
if (GradientDialog.GradientChanged != null)
{
GradientDialog.GradientChanged(this, new GradientEventArgs(this._save ? "save" : "undo", 0, null, 0, 0, 0));
}
}
protected override void Dispose(bool disposing)
{
if (disposing && this.components != null)
{
this.components.Dispose();
}
base.Dispose(disposing);
}
private void InitializeComponent()
{
this.components = new Container();
this.colorListBox = new ListBox();
this.upButton = new Button();
this.downButton = new Button();
this.gradientPictureBox = new PictureBox();
this.addButton = new Button();
this.deleteButton = new Button();
this.cancelButton = new Button();
this.colorDialog = new ColorDialog();
this.btn1 = new RadioButton();
this.btn2 = new RadioButton();
this.btn3 = new RadioButton();
this.btn4 = new RadioButton();
this.btn5 = new RadioButton();
this.traceButton = new Button();
this.backgroundButton = new Button();
this.cmbFill = new ComboBox();
this.labFill = new Label();
this.label2 = new Label();
this.picBox = new PictureBox();
this.groupBox1 = new GroupBox();
this.fastButton = new Button();
this.saButton = new Button();
this.wfButton = new Button();
this.agButton = new Button();
this.toolTip = new ToolTip(this.components);
this.trackBar = new TrackBar();
this.okButton = new Button();
((ISupportInitialize)this.gradientPictureBox).BeginInit();
((ISupportInitialize)this.picBox).BeginInit();
this.groupBox1.SuspendLayout();
((ISupportInitialize)this.trackBar).BeginInit();
base.SuspendLayout();
this.colorListBox.BackColor = Color.FromArgb(224, 224, 224);
this.colorListBox.DrawMode = DrawMode.OwnerDrawVariable;
this.colorListBox.FormattingEnabled = true;
this.colorListBox.ItemHeight = 15;
this.colorListBox.Location = new Point(7, 21);
this.colorListBox.Name = "colorListBox";
this.colorListBox.Size = new Size(62, 210);
this.colorListBox.TabIndex = 0;
this.toolTip.SetToolTip(this.colorListBox, "Select. move or edit gradient color.");
this.colorListBox.Click += this.colorListBox_Click;
this.colorListBox.DrawItem += this.colorListBox_DrawItem;
this.upButton.Enabled = false;
this.upButton.Location = new Point(110, 161);
this.upButton.Name = "upButton";
this.upButton.Size = new Size(55, 23);
this.upButton.TabIndex = 1;
this.upButton.Text = "Up";
this.toolTip.SetToolTip(this.upButton, "Move color up");
this.upButton.UseVisualStyleBackColor = true;
this.upButton.Click += this.upButton_Click;
this.downButton.Enabled = false;
this.downButton.Location = new Point(111, 191);
this.downButton.Name = "downButton";
this.downButton.Size = new Size(53, 23);
this.downButton.TabIndex = 2;
this.downButton.Text = "Down";
this.toolTip.SetToolTip(this.downButton, "Move color down");
this.downButton.UseVisualStyleBackColor = true;
this.downButton.Click += this.downButton_Click;
this.gradientPictureBox.BorderStyle = BorderStyle.FixedSingle;
this.gradientPictureBox.Location = new Point(71, 23);
this.gradientPictureBox.Name = "gradientPictureBox";
this.gradientPictureBox.Size = new Size(29, 209);
this.gradientPictureBox.TabIndex = 3;
this.gradientPictureBox.TabStop = false;
this.gradientPictureBox.Paint += this.gradientPictureBox_Paint;
this.addButton.Location = new Point(105, 76);
this.addButton.Name = "addButton";
this.addButton.Size = new Size(63, 23);
this.addButton.TabIndex = 3;
this.addButton.Text = "Add color";
this.toolTip.SetToolTip(this.addButton, "Add new color to gradient.");
this.addButton.UseVisualStyleBackColor = true;
this.addButton.Click += this.addButton_Click;
this.deleteButton.Enabled = false;
this.deleteButton.Location = new Point(105, 106);
this.deleteButton.Name = "deleteButton";
this.deleteButton.Size = new Size(64, 23);
this.deleteButton.TabIndex = 4;
this.deleteButton.Text = "Delete";
this.toolTip.SetToolTip(this.deleteButton, "Delete selected color");
this.deleteButton.UseVisualStyleBackColor = true;
this.deleteButton.Click += this.deleteButton_Click;
this.cancelButton.DialogResult = DialogResult.Cancel;
this.cancelButton.Location = new Point(332, 280);
this.cancelButton.Name = "cancelButton";
this.cancelButton.Size = new Size(48, 20);
this.cancelButton.TabIndex = 6;
this.cancelButton.Text = "Cancel";
this.toolTip.SetToolTip(this.cancelButton, "Cancel/undo changes");
this.cancelButton.UseVisualStyleBackColor = true;
this.cancelButton.Click += this.closeButton_Click;
this.colorDialog.AnyColor = true;
this.colorDialog.FullOpen = true;
this.btn1.AutoSize = true;
this.btn1.BackColor = SystemColors.Control;
this.btn1.ForeColor = SystemColors.ControlText;
this.btn1.Location = new Point(62, 10);
this.btn1.Margin = new Padding(2);
this.btn1.Name = "btn1";
this.btn1.RightToLeft = RightToLeft.No;
this.btn1.Size = new Size(31, 17);
this.btn1.TabIndex = 8;
this.btn1.TabStop = true;
this.btn1.Text = "1";
this.toolTip.SetToolTip(this.btn1, "Select gradient to use");
this.btn1.UseVisualStyleBackColor = false;
this.btn1.CheckedChanged += this.btnGradient_CheckedChanged;
this.btn2.AutoSize = true;
this.btn2.Location = new Point(92, 10);
this.btn2.Margin = new Padding(2);
this.btn2.Name = "btn2";
this.btn2.RightToLeft = RightToLeft.No;
this.btn2.Size = new Size(31, 17);
this.btn2.TabIndex = 9;
this.btn2.TabStop = true;
this.btn2.Text = "2";
this.btn2.UseVisualStyleBackColor = true;
this.btn2.CheckedChanged += this.btnGradient_CheckedChanged;
this.btn3.AutoSize = true;
this.btn3.Location = new Point(122, 10);
this.btn3.Margin = new Padding(2);
this.btn3.Name = "btn3";
this.btn3.RightToLeft = RightToLeft.No;
this.btn3.Size = new Size(31, 17);
this.btn3.TabIndex = 10;
this.btn3.TabStop = true;
this.btn3.Text = "3";
this.btn3.UseVisualStyleBackColor = true;
this.btn3.CheckedChanged += this.btnGradient_CheckedChanged;
this.btn4.AutoSize = true;
this.btn4.Location = new Point(152, 10);
this.btn4.Margin = new Padding(2);
this.btn4.Name = "btn4";
this.btn4.RightToLeft = RightToLeft.No;
this.btn4.Size = new Size(31, 17);
this.btn4.TabIndex = 11;
this.btn4.TabStop = true;
this.btn4.Text = "4";
this.btn4.UseVisualStyleBackColor = true;
this.btn4.CheckedChanged += this.btnGradient_CheckedChanged;
this.btn5.AutoSize = true;
this.btn5.Location = new Point(182, 10);
this.btn5.Margin = new Padding(2);
this.btn5.Name = "btn5";
this.btn5.RightToLeft = RightToLeft.No;
this.btn5.Size = new Size(31, 17);
this.btn5.TabIndex = 12;
this.btn5.TabStop = true;
this.btn5.Text = "5";
this.btn5.UseVisualStyleBackColor = true;
this.btn5.CheckedChanged += this.btnGradient_CheckedChanged;
this.traceButton.Location = new Point(183, 42);
this.traceButton.Name = "traceButton";
this.traceButton.Size = new Size(54, 23);
this.traceButton.TabIndex = 15;
this.traceButton.Text = "Trace";
this.toolTip.SetToolTip(this.traceButton, "Change spectrum trace color");
this.traceButton.UseVisualStyleBackColor = true;
this.traceButton.Click += this.traceButton_Click;
this.backgroundButton.ForeColor = Color.White;
this.backgroundButton.Location = new Point(245, 42);
this.backgroundButton.Name = "backgroundButton";
this.backgroundButton.Size = new Size(53, 23);
this.backgroundButton.TabIndex = 17;
this.backgroundButton.Text = "B-gnd";
this.toolTip.SetToolTip(this.backgroundButton, "Change background color");
this.backgroundButton.UseVisualStyleBackColor = true;
this.backgroundButton.Click += this.backgroundButton_Click;
this.cmbFill.DropDownStyle = ComboBoxStyle.DropDownList;
this.cmbFill.FormattingEnabled = true;
this.cmbFill.Items.AddRange(new object[4]
{
"none\t",
"static",
"dyn-1",
"dyn-2"
});
this.cmbFill.Location = new Point(330, 45);
this.cmbFill.Name = "cmbFill";
this.cmbFill.Size = new Size(49, 21);
this.cmbFill.TabIndex = 18;
this.toolTip.SetToolTip(this.cmbFill, "Select SA fill type.");
this.cmbFill.SelectedIndexChanged += this.cmbFill_SelectedIndexChanged;
this.labFill.AutoSize = true;
this.labFill.Font = new Font("Microsoft Sans Serif", 9.75f, FontStyle.Regular, GraphicsUnit.Point, 0);
this.labFill.Location = new Point(305, 46);
this.labFill.Name = "labFill";
this.labFill.Size = new Size(28, 16);
this.labFill.TabIndex = 19;
this.labFill.Text = "Fill:";
this.label2.AutoSize = true;
this.label2.Font = new Font("Microsoft Sans Serif", 9.75f, FontStyle.Regular, GraphicsUnit.Point, 0);
this.label2.Location = new Point(5, 10);
this.label2.Name = "label2";
this.label2.Size = new Size(46, 16);
this.label2.TabIndex = 20;
this.label2.Text = "Select";
this.picBox.BackColor = SystemColors.ButtonHighlight;
this.picBox.BackgroundImageLayout = ImageLayout.Center;
this.picBox.Cursor = Cursors.Default;
this.picBox.Enabled = false;
this.picBox.InitialImage = null;
this.picBox.Location = new Point(181, 96);
this.picBox.Name = "picBox";
this.picBox.Size = new Size(200, 177);
this.picBox.TabIndex = 22;
this.picBox.TabStop = false;
this.toolTip.SetToolTip(this.picBox, "Pick/move color or gradient");
this.picBox.MouseDown += this.picBox_MouseDown;
this.picBox.MouseMove += this.picBox_MouseMove;
this.picBox.MouseUp += this.picBox_MouseUp;
this.groupBox1.Controls.Add(this.fastButton);
this.groupBox1.Controls.Add(this.colorListBox);
this.groupBox1.Controls.Add(this.gradientPictureBox);
this.groupBox1.Controls.Add(this.upButton);
this.groupBox1.Controls.Add(this.downButton);
this.groupBox1.Controls.Add(this.addButton);
this.groupBox1.Controls.Add(this.deleteButton);
this.groupBox1.FlatStyle = FlatStyle.System;
this.groupBox1.Font = new Font("Microsoft Sans Serif", 9f, FontStyle.Regular, GraphicsUnit.Point, 0);
this.groupBox1.Location = new Point(2, 35);
this.groupBox1.Margin = new Padding(2);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Padding = new Padding(2);
this.groupBox1.Size = new Size(172, 240);
this.groupBox1.TabIndex = 23;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "Edit color gradient";
this.fastButton.Location = new Point(105, 23);
this.fastButton.Name = "fastButton";
this.fastButton.Size = new Size(63, 23);
this.fastButton.TabIndex = 8;
this.fastButton.Text = "Fast edit";
this.toolTip.SetToolTip(this.fastButton, "Edit whole gradient");
this.fastButton.UseVisualStyleBackColor = true;
this.fastButton.Click += this.fastButton_Click;
this.saButton.Location = new Point(7, 280);
this.saButton.Name = "saButton";
this.saButton.Size = new Size(43, 20);
this.saButton.TabIndex = 24;
this.saButton.Text = "Spect";
this.toolTip.SetToolTip(this.saButton, "Change SpectrumAnalyzer colors");
this.saButton.UseVisualStyleBackColor = true;
this.saButton.Click += this.saButton_Click;
this.wfButton.Location = new Point(57, 280);
this.wfButton.Name = "wfButton";
this.wfButton.Size = new Size(43, 20);
this.wfButton.TabIndex = 25;
this.wfButton.Text = "W-fall";
this.toolTip.SetToolTip(this.wfButton, "Change Waterfall colors");
this.wfButton.UseVisualStyleBackColor = true;
this.wfButton.Click += this.wfButton_Click;
this.agButton.Location = new Point(106, 280);
this.agButton.Name = "agButton";
this.agButton.Size = new Size(43, 20);
this.agButton.TabIndex = 25;
this.agButton.Text = "Audio";
this.toolTip.SetToolTip(this.agButton, "Change Audiogram colors");
this.agButton.UseVisualStyleBackColor = true;
this.agButton.Click += this.agButton_Click;
this.toolTip.AutoPopDelay = 2000;
this.toolTip.InitialDelay = 500;
this.toolTip.ReshowDelay = 100;
this.trackBar.AutoSize = false;
this.trackBar.Location = new Point(181, 79);
this.trackBar.Margin = new Padding(2);
this.trackBar.Maximum = 100;
this.trackBar.Name = "trackBar";
this.trackBar.Size = new Size(200, 20);
this.trackBar.TabIndex = 39;
this.trackBar.TickFrequency = 10;
this.trackBar.TickStyle = TickStyle.None;
this.trackBar.Value = 100;
this.trackBar.ValueChanged += this.trackBar_ValueChanged;
this.okButton.DialogResult = DialogResult.OK;
this.okButton.Enabled = false;
this.okButton.Location = new Point(242, 280);
this.okButton.Name = "okButton";
this.okButton.Size = new Size(54, 20);
this.okButton.TabIndex = 40;
this.okButton.Text = "OK";
this.okButton.UseVisualStyleBackColor = true;
this.okButton.Click += this.saveButton_Click;
base.AutoScaleDimensions = new SizeF(6f, 13f);
base.AutoScaleMode = AutoScaleMode.Font;
base.CancelButton = this.cancelButton;
base.ClientSize = new Size(388, 306);
base.Controls.Add(this.okButton);
base.Controls.Add(this.trackBar);
base.Controls.Add(this.agButton);
base.Controls.Add(this.wfButton);
base.Controls.Add(this.saButton);
base.Controls.Add(this.groupBox1);
base.Controls.Add(this.picBox);
base.Controls.Add(this.label2);
base.Controls.Add(this.cmbFill);
base.Controls.Add(this.backgroundButton);
base.Controls.Add(this.traceButton);
base.Controls.Add(this.btn5);
base.Controls.Add(this.btn4);
base.Controls.Add(this.btn3);
base.Controls.Add(this.btn2);
base.Controls.Add(this.btn1);
base.Controls.Add(this.cancelButton);
base.Controls.Add(this.labFill);
base.FormBorderStyle = FormBorderStyle.FixedDialog;
base.MaximizeBox = false;
base.MinimizeBox = false;
base.Name = "GradientDialog";
base.ShowInTaskbar = false;
base.StartPosition = FormStartPosition.CenterParent;
this.Text = "Color Editor";
this.toolTip.SetToolTip(this, "Accept/save changes");
base.FormClosing += this.GradientDialog_FormClosing;
((ISupportInitialize)this.gradientPictureBox).EndInit();
((ISupportInitialize)this.picBox).EndInit();
this.groupBox1.ResumeLayout(false);
((ISupportInitialize)this.trackBar).EndInit();
base.ResumeLayout(false);
base.PerformLayout();
}
}
}