diff options
| author | lempamo <[email protected]> | 2017-09-04 20:14:19 -0400 |
|---|---|---|
| committer | lempamo <[email protected]> | 2017-09-04 20:14:19 -0400 |
| commit | 1a970e69dada088c5f5ea82dd5683da9ae306ebe (patch) | |
| tree | 1f77a784221a7565843624f321995ab8856e4a3a /Histacom2.Engine/UI/ClassicButton.cs | |
| parent | 69d4465542fb00108576219d9c1da026f2e864b1 (diff) | |
| download | histacom2-1a970e69dada088c5f5ea82dd5683da9ae306ebe.tar.gz histacom2-1a970e69dada088c5f5ea82dd5683da9ae306ebe.tar.bz2 histacom2-1a970e69dada088c5f5ea82dd5683da9ae306ebe.zip | |
new classic buttons!
Diffstat (limited to 'Histacom2.Engine/UI/ClassicButton.cs')
| -rw-r--r-- | Histacom2.Engine/UI/ClassicButton.cs | 77 |
1 files changed, 40 insertions, 37 deletions
diff --git a/Histacom2.Engine/UI/ClassicButton.cs b/Histacom2.Engine/UI/ClassicButton.cs index 26629a8..e82a742 100644 --- a/Histacom2.Engine/UI/ClassicButton.cs +++ b/Histacom2.Engine/UI/ClassicButton.cs @@ -1,8 +1,6 @@ using System; using System.Collections.Generic; -using System.ComponentModel; using System.Drawing; -using System.Data; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -10,49 +8,54 @@ using System.Windows.Forms; namespace Histacom2.Engine.UI { - public partial class ClassicButton : UserControl + public class ClassicButton : Control { - public ClassicButton() - { - InitializeComponent(); - } - - private void ClassicButton_SizeChanged(object sender, EventArgs e) - { + private Color _lightBack = Color.White; + private Color _darkBack = Color.Gray; - } + private bool _pressing = false; - private void ClassicButton_MouseDown(object sender, MouseEventArgs e) + public ClassicButton() : base() { - this.BackColor = Color.White; - borderpart.BackColor = Color.Black; - lessgraystuff.Location = new Point(1, 1); - } + if (SaveSystem.currentTheme != null) BackColor = SaveSystem.currentTheme.threeDObjectsColor; + else BackColor = Color.Silver; + _lightBack = ControlPaint.Light(BackColor, 50); + _darkBack = ControlPaint.Dark(BackColor, 50); - private void ClassicButton_Paint(object sender, PaintEventArgs e) - { - e.Graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SingleBitPerPixelGridFit; - base.OnPaint(e); - } + if (SaveSystem.currentTheme != null) ForeColor = SaveSystem.currentTheme.threeDObjectsTextColor; + else ForeColor = Color.Black; - private void lessgraystuff_Paint(object sender, PaintEventArgs e) - { - e.Graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SingleBitPerPixelGridFit; - base.OnPaint(e); + MouseDown += (s, e) => { _pressing = true; Invalidate(); }; + MouseUp += (s, e) => { _pressing = false; Invalidate(); }; } - private void ClassicButton_MouseUp(object sender, MouseEventArgs e) + protected override void OnPaint(PaintEventArgs e) { - this.BackColor = Color.Black; - borderpart.BackColor = Color.White; - lessgraystuff.Location = new Point(0, 0); - } - - private void ClassicButton_Resize(object sender, EventArgs e) - { - borderpart.Size = new Size(this.Width - 1, this.Height - 1); - graystuff.Size = new Size(this.Width - 2, this.Height - 2); - lessgraystuff.Size = new Size(this.Width - 3, this.Height - 3); + base.OnPaint(e); + var g = e.Graphics; + g.Clear(BackColor); + + g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SingleBitPerPixelGridFit; + + if (_pressing) + { + g.FillRectangle(new SolidBrush(_lightBack), new Rectangle(0, 0, Width, Height)); + g.FillRectangle(Brushes.Black, new Rectangle(0, 0, Width - 1, Height - 1)); + g.FillRectangle(new SolidBrush(_darkBack), new Rectangle(1, 1, Width - 2, Height - 2)); + g.FillRectangle(new SolidBrush(BackColor), new Rectangle(2, 2, Width - 3, Height - 3)); + + g.DrawString(Text, Font, new SolidBrush(ForeColor), (Width / 2) - (g.MeasureString(Text, Font).Width / 2) + 1, (Height / 2) - (g.MeasureString(Text, Font).Height / 2) + 1); + } + else + { + g.FillRectangle(Brushes.Black, new Rectangle(0, 0, Width, Height)); + g.FillRectangle(new SolidBrush(_lightBack), new Rectangle(0, 0, Width - 1, Height - 1)); + g.FillRectangle(new SolidBrush(_darkBack), new Rectangle(1, 1, Width - 2, Height - 2)); + g.FillRectangle(new SolidBrush(BackColor), new Rectangle(1, 1, Width - 3, Height - 3)); + + g.DrawString(Text, Font, new SolidBrush(ForeColor), (Width / 2) - (g.MeasureString(Text, Font).Width / 2), (Height / 2) - (g.MeasureString(Text, Font).Height / 2)); + } } + } -}
\ No newline at end of file +} |
