diff --git a/File_Format_Library/GUI/BFLYT/LayoutEditor.Designer.cs b/File_Format_Library/GUI/BFLYT/LayoutEditor.Designer.cs index 31eb404b..cbbae768 100644 --- a/File_Format_Library/GUI/BFLYT/LayoutEditor.Designer.cs +++ b/File_Format_Library/GUI/BFLYT/LayoutEditor.Designer.cs @@ -127,28 +127,28 @@ // openToolStripMenuItem // this.openToolStripMenuItem.Name = "openToolStripMenuItem"; - this.openToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.openToolStripMenuItem.Size = new System.Drawing.Size(127, 22); this.openToolStripMenuItem.Text = "Open"; this.openToolStripMenuItem.Click += new System.EventHandler(this.openToolStripMenuItem_Click); // // clearWorkspaceToolStripMenuItem // this.clearWorkspaceToolStripMenuItem.Name = "clearWorkspaceToolStripMenuItem"; - this.clearWorkspaceToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.clearWorkspaceToolStripMenuItem.Size = new System.Drawing.Size(127, 22); this.clearWorkspaceToolStripMenuItem.Text = "Clear Files"; this.clearWorkspaceToolStripMenuItem.Click += new System.EventHandler(this.clearWorkspaceToolStripMenuItem_Click); // // saveToolStripMenuItem1 // this.saveToolStripMenuItem1.Name = "saveToolStripMenuItem1"; - this.saveToolStripMenuItem1.Size = new System.Drawing.Size(180, 22); + this.saveToolStripMenuItem1.Size = new System.Drawing.Size(127, 22); this.saveToolStripMenuItem1.Text = "Save"; this.saveToolStripMenuItem1.Click += new System.EventHandler(this.saveToolStripMenuItem1_Click); // // saveToolStripMenuItem // this.saveToolStripMenuItem.Name = "saveToolStripMenuItem"; - this.saveToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.saveToolStripMenuItem.Size = new System.Drawing.Size(127, 22); this.saveToolStripMenuItem.Text = "Save As"; this.saveToolStripMenuItem.Click += new System.EventHandler(this.saveToolStripMenuItem_Click); // @@ -170,14 +170,14 @@ // textureListToolStripMenuItem // this.textureListToolStripMenuItem.Name = "textureListToolStripMenuItem"; - this.textureListToolStripMenuItem.Size = new System.Drawing.Size(150, 22); + this.textureListToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.textureListToolStripMenuItem.Text = "Texture List"; this.textureListToolStripMenuItem.Click += new System.EventHandler(this.textureListToolStripMenuItem_Click); // // textConverterToolStripMenuItem // this.textConverterToolStripMenuItem.Name = "textConverterToolStripMenuItem"; - this.textConverterToolStripMenuItem.Size = new System.Drawing.Size(150, 22); + this.textConverterToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.textConverterToolStripMenuItem.Text = "Text Converter"; this.textConverterToolStripMenuItem.Click += new System.EventHandler(this.textConverterToolStripMenuItem_Click); // diff --git a/File_Format_Library/GUI/BFLYT/LayoutEditor.cs b/File_Format_Library/GUI/BFLYT/LayoutEditor.cs index 06066cda..c84ffab8 100644 --- a/File_Format_Library/GUI/BFLYT/LayoutEditor.cs +++ b/File_Format_Library/GUI/BFLYT/LayoutEditor.cs @@ -127,6 +127,11 @@ namespace LayoutBXLYT private void OnProperyChanged() { + Console.WriteLine("UpdateProperties"); + + if (LayoutProperties != null) + LayoutProperties.UpdateProperties(); + if (ActiveViewport != null) ActiveViewport.UpdateViewport(); } @@ -416,15 +421,26 @@ namespace LayoutBXLYT private void textConverterToolStripMenuItem_Click(object sender, EventArgs e) { - if (ActiveLayout.FileInfo is BFLYT) + if (!textConverterToolStripMenuItem.Checked) { - TextConverter = new LayoutTextDocked(); - TextConverter.Text = "Text Converter"; - TextConverter.LoadLayout((BFLYT)ActiveLayout.FileInfo); - if (ActiveViewport != null) - TextConverter.Show(ActiveViewport.Pane, DockAlignment.Bottom, 0.4); - else - TextConverter.Show(dockPanel1, DockState.DockLeft); + if (ActiveLayout.FileInfo is BFLYT) + { + if (TextConverter == null) + TextConverter = new LayoutTextDocked(); + TextConverter.Text = "Text Converter"; + TextConverter.LoadLayout((BFLYT)ActiveLayout.FileInfo); + if (ActiveViewport != null) + TextConverter.Show(ActiveViewport.Pane, DockAlignment.Bottom, 0.4); + else + TextConverter.Show(dockPanel1, DockState.DockLeft); + } + + textConverterToolStripMenuItem.Checked = true; + } + else + { + textConverterToolStripMenuItem.Checked = false; + TextConverter.Hide(); } } diff --git a/File_Format_Library/GUI/BFLYT/LayoutEditor.resx b/File_Format_Library/GUI/BFLYT/LayoutEditor.resx index 2fc09876..463cd52b 100644 --- a/File_Format_Library/GUI/BFLYT/LayoutEditor.resx +++ b/File_Format_Library/GUI/BFLYT/LayoutEditor.resx @@ -124,484 +124,483 @@ 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 - c8+szkpgAAAAAElFTkSuQmCC + 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 + TkSuQmCC diff --git a/File_Format_Library/GUI/BFLYT/LayoutProperties.cs b/File_Format_Library/GUI/BFLYT/LayoutProperties.cs index 263595d4..eaa7a0dd 100644 --- a/File_Format_Library/GUI/BFLYT/LayoutProperties.cs +++ b/File_Format_Library/GUI/BFLYT/LayoutProperties.cs @@ -23,6 +23,11 @@ namespace LayoutBXLYT stPropertyGrid1.LoadProperty(null); } + public void UpdateProperties() + { + stPropertyGrid1.UpdateProperties(); + } + public void LoadProperties(BasePane prop, Action propChanged) { LoadPropertyTab("Pane", prop, propChanged); diff --git a/File_Format_Library/GUI/BFLYT/LayoutViewer.cs b/File_Format_Library/GUI/BFLYT/LayoutViewer.cs index c93a4557..2e58ef32 100644 --- a/File_Format_Library/GUI/BFLYT/LayoutViewer.cs +++ b/File_Format_Library/GUI/BFLYT/LayoutViewer.cs @@ -226,9 +226,9 @@ namespace LayoutBXLYT pane.ColorBottomLeft.Color, }; + var mat = pane.GetMaterial(); if (pane.TexCoords.Length > 0) { - var mat = pane.GetMaterial(); string textureMap0 = ""; if (mat.TextureMaps.Count > 0) textureMap0 = mat.GetTexture(0); @@ -305,17 +305,18 @@ namespace LayoutBXLYT pane.ColorBottomLeft.Color, }; + var mat = pane.Material; + if (pane.TexCoords.Length > 0) { - var mat = pane.Material; string textureMap0 = ""; if (mat.TextureMaps.Length > 0) textureMap0 = mat.GetTexture(0); if (Textures.ContainsKey(textureMap0)) BindGLTexture(mat.TextureMaps[0], Textures[textureMap0]); - else - GL.BindTexture(TextureTarget.Texture2D, RenderTools.uvTestPattern.RenderableTex.TexID); + // else + // GL.BindTexture(TextureTarget.Texture2D, RenderTools.uvTestPattern.RenderableTex.TexID); TexCoords = new Vector2[] { pane.TexCoords[0].TopLeft.ToTKVector2(), @@ -335,7 +336,7 @@ namespace LayoutBXLYT if (useLines) { GL.Begin(PrimitiveType.LineLoop); - GL.Color3(colors[0]); + GL.Color4(colors[0]); GL.Vertex2(rect.LeftPoint, rect.BottomPoint); GL.Vertex2(rect.RightPoint, rect.BottomPoint); GL.Vertex2(rect.RightPoint, rect.TopPoint); @@ -345,16 +346,16 @@ namespace LayoutBXLYT else { GL.Begin(PrimitiveType.Quads); - GL.Color3(colors[0]); + GL.Color4(colors[0]); GL.TexCoord2(texCoords[0]); GL.Vertex2(rect.LeftPoint, rect.BottomPoint); - GL.Color3(colors[1]); + GL.Color4(colors[1]); GL.TexCoord2(texCoords[1]); GL.Vertex2(rect.RightPoint, rect.BottomPoint); - GL.Color3(colors[2]); + GL.Color4(colors[2]); GL.TexCoord2(texCoords[2]); GL.Vertex2(rect.RightPoint, rect.TopPoint); - GL.Color3(colors[3]); + GL.Color4(colors[3]); GL.TexCoord2(texCoords[3]); GL.Vertex2(rect.LeftPoint, rect.TopPoint); GL.End(); diff --git a/Switch_Toolbox_Library/Forms/ColorSelector.cs b/Switch_Toolbox_Library/Forms/ColorSelector.cs index f49efca7..9a497f24 100644 --- a/Switch_Toolbox_Library/Forms/ColorSelector.cs +++ b/Switch_Toolbox_Library/Forms/ColorSelector.cs @@ -23,6 +23,16 @@ namespace Toolbox.Library.Forms private HSVPixel _hsv = new HSVPixel(0, 100, 100); + public Color NewColor + { + get + { + return Color.FromArgb(Alpha, Color); + } + } + + public STColor8 Color8 { get; set; } + /// /// The color the dialog gets and sets. /// @@ -39,6 +49,14 @@ namespace Toolbox.Library.Forms } } + public Color AlphaColor + { + get + { + return Color.FromArgb(Alpha, Alpha, Alpha); + } + } + private int _alpha; public int Alpha { @@ -111,7 +129,7 @@ namespace Toolbox.Library.Forms | System.Windows.Forms.AnchorStyles.Left))); this.colorSquare.Location = new System.Drawing.Point(3, 3); this.colorSquare.Name = "colorSquare"; - this.colorSquare.Size = new System.Drawing.Size(180, 180); + this.colorSquare.Size = new System.Drawing.Size(180, 235); this.colorSquare.TabIndex = 0; this.colorSquare.Paint += new System.Windows.Forms.PaintEventHandler(this.colorSquare_Paint); this.colorSquare.MouseDown += new System.Windows.Forms.MouseEventHandler(this.colorSquare_MouseDown); @@ -124,7 +142,7 @@ namespace Toolbox.Library.Forms | System.Windows.Forms.AnchorStyles.Left))); this.huePanel.Location = new System.Drawing.Point(189, 3); this.huePanel.Name = "huePanel"; - this.huePanel.Size = new System.Drawing.Size(16, 180); + this.huePanel.Size = new System.Drawing.Size(24, 235); this.huePanel.TabIndex = 1; this.huePanel.Paint += new System.Windows.Forms.PaintEventHandler(this.huePanel_Paint); this.huePanel.MouseDown += new System.Windows.Forms.MouseEventHandler(this.huePanel_MouseDown); @@ -135,9 +153,9 @@ namespace Toolbox.Library.Forms // this.alphaPanel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left))); - this.alphaPanel.Location = new System.Drawing.Point(208, 3); + this.alphaPanel.Location = new System.Drawing.Point(219, 3); this.alphaPanel.Name = "alphaPanel"; - this.alphaPanel.Size = new System.Drawing.Size(16, 180); + this.alphaPanel.Size = new System.Drawing.Size(24, 235); this.alphaPanel.TabIndex = 2; this.alphaPanel.Paint += new System.Windows.Forms.PaintEventHandler(this.alphaPanel_Paint); this.alphaPanel.MouseDown += new System.Windows.Forms.MouseEventHandler(this.alphaPanel_MouseDown); @@ -150,7 +168,7 @@ namespace Toolbox.Library.Forms this.Controls.Add(this.huePanel); this.Controls.Add(this.colorSquare); this.Name = "ColorSelector"; - this.Size = new System.Drawing.Size(227, 188); + this.Size = new System.Drawing.Size(245, 243); this.MouseMove += new System.Windows.Forms.MouseEventHandler(this.ColorSelector_MouseMove); this.ResumeLayout(false); @@ -310,6 +328,8 @@ namespace Toolbox.Library.Forms protected virtual void OnColorChanged(bool hsvToRgb) { + Color8 = new STColor8(NewColor); + colorSquare.Invalidate(); huePanel.Invalidate(); diff --git a/Switch_Toolbox_Library/Forms/Custom/STPropertyGrid.cs b/Switch_Toolbox_Library/Forms/Custom/STPropertyGrid.cs index 0392499b..25649600 100644 --- a/Switch_Toolbox_Library/Forms/Custom/STPropertyGrid.cs +++ b/Switch_Toolbox_Library/Forms/Custom/STPropertyGrid.cs @@ -58,8 +58,15 @@ namespace Toolbox.Library.Forms propertyGrid1.SelectedObject = selectedObject; } + public void UpdateProperties() + { + propertyGrid1.Invalidate(); + } + private void propertyGrid1_PropertyValueChanged(object s, PropertyValueChangedEventArgs e) { + Console.WriteLine("PropertyValueChanged"); + OnPropertyChanged?.Invoke(); OnPropertyChanged2?.Invoke(); } diff --git a/Switch_Toolbox_Library/Forms/Dialogs/STColorDialog.Designer.cs b/Switch_Toolbox_Library/Forms/Dialogs/STColorDialog.Designer.cs index c28598a1..7862da63 100644 --- a/Switch_Toolbox_Library/Forms/Dialogs/STColorDialog.Designer.cs +++ b/Switch_Toolbox_Library/Forms/Dialogs/STColorDialog.Designer.cs @@ -28,11 +28,55 @@ /// private void InitializeComponent() { - this.colorSelector1 = new Toolbox.Library.Forms.ColorSelector(); this.stPanel1 = new Toolbox.Library.Forms.STPanel(); + this.alphaPB = new System.Windows.Forms.PictureBox(); + this.colorPB = new System.Windows.Forms.PictureBox(); + this.colorSelector1 = new Toolbox.Library.Forms.ColorSelector(); + this.stButton1 = new Toolbox.Library.Forms.STButton(); + this.numericUpDownUint1 = new Toolbox.Library.Forms.NumericUpDownUint(); + this.numericUpDownUint2 = new Toolbox.Library.Forms.NumericUpDownUint(); + this.numericUpDownUint3 = new Toolbox.Library.Forms.NumericUpDownUint(); this.stPanel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.alphaPB)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.colorPB)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDownUint1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDownUint2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDownUint3)).BeginInit(); this.SuspendLayout(); // + // stPanel1 + // + this.stPanel1.Controls.Add(this.numericUpDownUint3); + this.stPanel1.Controls.Add(this.numericUpDownUint2); + this.stPanel1.Controls.Add(this.numericUpDownUint1); + this.stPanel1.Controls.Add(this.stButton1); + this.stPanel1.Controls.Add(this.alphaPB); + this.stPanel1.Controls.Add(this.colorPB); + this.stPanel1.Controls.Add(this.colorSelector1); + this.stPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.stPanel1.Location = new System.Drawing.Point(0, 0); + this.stPanel1.Name = "stPanel1"; + this.stPanel1.Size = new System.Drawing.Size(350, 259); + this.stPanel1.TabIndex = 1; + // + // alphaPB + // + this.alphaPB.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.alphaPB.Location = new System.Drawing.Point(257, 48); + this.alphaPB.Name = "alphaPB"; + this.alphaPB.Size = new System.Drawing.Size(39, 39); + this.alphaPB.TabIndex = 2; + this.alphaPB.TabStop = false; + // + // colorPB + // + this.colorPB.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.colorPB.Location = new System.Drawing.Point(257, 3); + this.colorPB.Name = "colorPB"; + this.colorPB.Size = new System.Drawing.Size(39, 39); + this.colorPB.TabIndex = 1; + this.colorPB.TabStop = false; + // // colorSelector1 // this.colorSelector1.Alpha = 0; @@ -44,26 +88,70 @@ this.colorSelector1.DisplayColor = true; this.colorSelector1.Location = new System.Drawing.Point(3, 3); this.colorSelector1.Name = "colorSelector1"; - this.colorSelector1.Size = new System.Drawing.Size(278, 258); + this.colorSelector1.Size = new System.Drawing.Size(248, 256); this.colorSelector1.TabIndex = 0; + this.colorSelector1.ColorChanged += new System.EventHandler(this.colorSelector1_ColorChanged); // - // stPanel1 + // stButton1 // - this.stPanel1.Controls.Add(this.colorSelector1); - this.stPanel1.Dock = System.Windows.Forms.DockStyle.Fill; - this.stPanel1.Location = new System.Drawing.Point(0, 0); - this.stPanel1.Name = "stPanel1"; - this.stPanel1.Size = new System.Drawing.Size(284, 261); - this.stPanel1.TabIndex = 1; + this.stButton1.DialogResult = System.Windows.Forms.DialogResult.OK; + this.stButton1.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.stButton1.Location = new System.Drawing.Point(272, 233); + this.stButton1.Name = "stButton1"; + this.stButton1.Size = new System.Drawing.Size(75, 23); + this.stButton1.TabIndex = 3; + this.stButton1.Text = "Ok"; + this.stButton1.UseVisualStyleBackColor = false; + // + // numericUpDownUint1 + // + this.numericUpDownUint1.Location = new System.Drawing.Point(257, 107); + this.numericUpDownUint1.Maximum = new decimal(new int[] { + 255, + 0, + 0, + 0}); + this.numericUpDownUint1.Name = "numericUpDownUint1"; + this.numericUpDownUint1.Size = new System.Drawing.Size(93, 20); + this.numericUpDownUint1.TabIndex = 4; + // + // numericUpDownUint2 + // + this.numericUpDownUint2.Location = new System.Drawing.Point(257, 133); + this.numericUpDownUint2.Maximum = new decimal(new int[] { + 255, + 0, + 0, + 0}); + this.numericUpDownUint2.Name = "numericUpDownUint2"; + this.numericUpDownUint2.Size = new System.Drawing.Size(93, 20); + this.numericUpDownUint2.TabIndex = 5; + // + // numericUpDownUint3 + // + this.numericUpDownUint3.Location = new System.Drawing.Point(257, 159); + this.numericUpDownUint3.Maximum = new decimal(new int[] { + 255, + 0, + 0, + 0}); + this.numericUpDownUint3.Name = "numericUpDownUint3"; + this.numericUpDownUint3.Size = new System.Drawing.Size(93, 20); + this.numericUpDownUint3.TabIndex = 6; // // STColorDialog // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(284, 261); + this.ClientSize = new System.Drawing.Size(350, 259); this.Controls.Add(this.stPanel1); this.Name = "STColorDialog"; this.stPanel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.alphaPB)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.colorPB)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDownUint1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDownUint2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDownUint3)).EndInit(); this.ResumeLayout(false); } @@ -72,5 +160,11 @@ private ColorSelector colorSelector1; private STPanel stPanel1; + private System.Windows.Forms.PictureBox colorPB; + private System.Windows.Forms.PictureBox alphaPB; + private STButton stButton1; + private NumericUpDownUint numericUpDownUint3; + private NumericUpDownUint numericUpDownUint2; + private NumericUpDownUint numericUpDownUint1; } } diff --git a/Switch_Toolbox_Library/Forms/Dialogs/STColorDialog.cs b/Switch_Toolbox_Library/Forms/Dialogs/STColorDialog.cs index 82e295b6..167e59e1 100644 --- a/Switch_Toolbox_Library/Forms/Dialogs/STColorDialog.cs +++ b/Switch_Toolbox_Library/Forms/Dialogs/STColorDialog.cs @@ -12,11 +12,16 @@ namespace Toolbox.Library.Forms { public partial class STColorDialog : Form { + public EventHandler ColorChanged; + public STColorDialog(Color color) { InitializeComponent(); + Text = "Color Dialog"; colorSelector1.Color = color; + colorSelector1.DisplayAlpha = true; + colorSelector1.Alpha = color.A; } public Color NewColor @@ -25,6 +30,19 @@ namespace Toolbox.Library.Forms { return colorSelector1.Color; } + set + { + colorSelector1.Color = value; + } + } + + private void colorSelector1_ColorChanged(object sender, EventArgs e) + { + colorPB.BackColor = NewColor; + alphaPB.BackColor = colorSelector1.AlphaColor; + + if (ColorChanged != null) + ColorChanged.Invoke(sender, e); } } } diff --git a/Switch_Toolbox_Library/Forms/Editors/TextEditor/TextEditor.cs b/Switch_Toolbox_Library/Forms/Editors/TextEditor/TextEditor.cs index 8eb04871..a3e0f7ad 100644 --- a/Switch_Toolbox_Library/Forms/Editors/TextEditor/TextEditor.cs +++ b/Switch_Toolbox_Library/Forms/Editors/TextEditor/TextEditor.cs @@ -186,6 +186,8 @@ namespace Toolbox.Library.Forms } private void InitSyntaxColoring() { + if (scintilla1 == null || scintilla1.IsDisposed || scintilla1.Disposing) + return; scintilla1.StyleResetDefault(); scintilla1.Styles[Style.Default].Font = "Consolas"; diff --git a/Switch_Toolbox_Library/IO/Colors/ColorEditor.cs b/Switch_Toolbox_Library/IO/Colors/ColorEditor.cs index 8f32e0c9..48f47b50 100644 --- a/Switch_Toolbox_Library/IO/Colors/ColorEditor.cs +++ b/Switch_Toolbox_Library/IO/Colors/ColorEditor.cs @@ -5,6 +5,7 @@ using System.Drawing.Design; using System.Windows.Forms; using System.Windows.Forms.Design; using Toolbox.Library.Forms; +using System.Drawing.Drawing2D; namespace Toolbox.Library.IO { @@ -12,60 +13,52 @@ namespace Toolbox.Library.IO { public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext context) { - return UITypeEditorEditStyle.Modal; + return UITypeEditorEditStyle.DropDown; } public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { - if (value.GetType() != typeof(STColor8) && + if (value.GetType() != typeof(STColor8) && value.GetType() != typeof(STColor16) && value.GetType() != typeof(STColor)) { return value; } - IWindowsFormsEditorService svc = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService)); + IWindowsFormsEditorService frmsvr = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService)); + if (frmsvr == null) + return null; - if (svc != null) - { - Color color = Color.White; - if (value is STColor8) - color = ((STColor8)value).Color; - if (value is STColor16) - color = ((STColor16)value).Color; - if (value is STColor) - color = ((STColor)value).Color; + var control = new ColorSelector(); - using (ColorDialog form = new ColorDialog()) - { - form.Color = color; - if (form.ShowDialog() == DialogResult.OK) - { - if (value is STColor8) - ((STColor8)value).Color = form.Color; - if (value is STColor16) - ((STColor16)value).Color = form.Color; - if (value is STColor) - ((STColor)value).Color = form.Color; + Color color = Color.White; + if (value is STColor8) + color = ((STColor8)value).Color; + if (value is STColor16) + color = ((STColor16)value).Color; + if (value is STColor) + color = ((STColor)value).Color; - return value; - } - } + control.Color = color; + control.Alpha = color.A; - //Todo custom dialog - /* using (STColorDialog form = new STColorDialog(color)) - { - if (svc.ShowDialog(form) == DialogResult.OK) - { - ((STColor)value).Color = form.NewColor; - return value; - } - }*/ - } + frmsvr.DropDownControl(control); + + if (value is STColor8) + return control.Color8; + if (value is STColor16) + return (STColor16)value; + if (value is STColor) + return (STColor)value; return value; } + private void OnColorChanged(object sender, EventArgs e) + { + + } + public override bool GetPaintValueSupported(ITypeDescriptorContext context) { return true; @@ -81,10 +74,18 @@ namespace Toolbox.Library.IO if (e.Value is STColor) color = ((STColor)e.Value).Color; - using (SolidBrush brush = new SolidBrush(color)) - { - e.Graphics.FillRectangle(brush, e.Bounds); - } + + e.Graphics.InterpolationMode = InterpolationMode.NearestNeighbor; + e.Graphics.PixelOffsetMode = PixelOffsetMode.Half; + + Brush RGBColor = new SolidBrush(Color.FromArgb(255, color.R, color.G, color.B)); + Brush AlphaColor = new SolidBrush(Color.FromArgb(color.A, color.R, color.G, color.B)); + + Point rgbPos = new Point(e.Bounds.X, e.Bounds.Y); + Point alphaPos = new Point(e.Bounds.X + e.Bounds.Width / 2, e.Bounds.Y); + + e.Graphics.FillRectangle(RGBColor, new RectangleF(rgbPos.X, rgbPos.Y, e.Bounds.Width / 2, e.Bounds.Height)); + e.Graphics.FillRectangle(AlphaColor, new RectangleF(alphaPos.X, alphaPos.Y, e.Bounds.Width / 2, e.Bounds.Height)); e.Graphics.DrawRectangle(Pens.Black, e.Bounds); } diff --git a/Switch_Toolbox_Library/IO/Colors/STColor.cs b/Switch_Toolbox_Library/IO/Colors/STColor.cs index d50ecb7a..a7323ad5 100644 --- a/Switch_Toolbox_Library/IO/Colors/STColor.cs +++ b/Switch_Toolbox_Library/IO/Colors/STColor.cs @@ -60,6 +60,14 @@ namespace Toolbox.Library return col; } + public STColor(Color color) + { + R = color.R / 255f; + G = color.G / 255f; + B = color.B / 255f; + A = color.A / 255f; + } + public STColor() { R = 1; diff --git a/Switch_Toolbox_Library/IO/Colors/STColor16.cs b/Switch_Toolbox_Library/IO/Colors/STColor16.cs index 59d5e2db..a50fe519 100644 --- a/Switch_Toolbox_Library/IO/Colors/STColor16.cs +++ b/Switch_Toolbox_Library/IO/Colors/STColor16.cs @@ -51,6 +51,14 @@ namespace Toolbox.Library A = 255; } + public STColor16(Color color) + { + R = color.R; + G = color.G; + B = color.B; + A = color.A; + } + public STColor16(ushort r, ushort g, ushort b, ushort a) { R = r; diff --git a/Switch_Toolbox_Library/IO/Colors/STColor8.cs b/Switch_Toolbox_Library/IO/Colors/STColor8.cs index fa8d2a82..9b7ea22d 100644 --- a/Switch_Toolbox_Library/IO/Colors/STColor8.cs +++ b/Switch_Toolbox_Library/IO/Colors/STColor8.cs @@ -52,6 +52,14 @@ namespace Toolbox.Library A = 255; } + public STColor8(Color color) + { + R = color.R; + G = color.G; + B = color.B; + A = color.A; + } + public STColor8(byte r, byte g, byte b, byte a) { R = r;