From 859e2483cbfd124d3dde85f1654df9aaa17ca605 Mon Sep 17 00:00:00 2001 From: lempamo Date: Tue, 5 Sep 2017 20:05:28 -0400 Subject: buttons and window colors --- Histacom2.Engine/Template/WinClassic.cs | 100 ++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) (limited to 'Histacom2.Engine/Template/WinClassic.cs') diff --git a/Histacom2.Engine/Template/WinClassic.cs b/Histacom2.Engine/Template/WinClassic.cs index 20e66f0..c1c7fe1 100644 --- a/Histacom2.Engine/Template/WinClassic.cs +++ b/Histacom2.Engine/Template/WinClassic.cs @@ -11,6 +11,7 @@ namespace Histacom2.Engine.Template { InitializeComponent(); DoubleBuffered = true; + programContent.BackColor = SaveSystem.currentTheme.threeDObjectsColor; } public Font fnt; @@ -207,6 +208,105 @@ namespace Histacom2.Engine.Template public bool max = false; + + private void bottom_Paint(object sender, PaintEventArgs e) + { + var gfx = e.Graphics; + gfx.Clear(SaveSystem.currentTheme.threeDObjectsColor); + + var _darkBack = Paintbrush.GetDarkFromColor(SaveSystem.currentTheme.threeDObjectsColor); + + gfx.DrawLine(Pens.Black, 0, 3, bottom.Width, 3); + gfx.DrawLine(new Pen(_darkBack), 0, 2, bottom.Width, 2); + } + + private void bottomleftcorner_Paint(object sender, PaintEventArgs e) + { + var gfx = e.Graphics; + gfx.Clear(SaveSystem.currentTheme.threeDObjectsColor); + + var _lightBack = Paintbrush.GetLightFromColor(SaveSystem.currentTheme.threeDObjectsColor); + var _darkBack = Paintbrush.GetDarkFromColor(SaveSystem.currentTheme.threeDObjectsColor); + + gfx.DrawLine(Pens.Black, 0, 3, 3, 3); + gfx.DrawLine(new Pen(_darkBack), 1, 2, 3, 2); + gfx.DrawLine(new Pen(_lightBack), 1, 0, 1, 1); + } + + private void left_Paint(object sender, PaintEventArgs e) + { + var gfx = e.Graphics; + gfx.Clear(SaveSystem.currentTheme.threeDObjectsColor); + + var _lightBack = Paintbrush.GetLightFromColor(SaveSystem.currentTheme.threeDObjectsColor); + + gfx.DrawLine(new Pen(_lightBack), 1, 0, 1, left.Height); + } + + private void programContent_ControlAdded(object sender, ControlEventArgs e) + { + e.Control.BackColor = SaveSystem.currentTheme.threeDObjectsColor; + e.Control.Invalidate(); + } + + private void topleftcorner_Paint(object sender, PaintEventArgs e) + { + var gfx = e.Graphics; + gfx.Clear(SaveSystem.currentTheme.threeDObjectsColor); + + var _lightBack = Paintbrush.GetLightFromColor(SaveSystem.currentTheme.threeDObjectsColor); + + gfx.DrawLine(new Pen(_lightBack), 1, 3, 1, 1); + gfx.DrawLine(new Pen(_lightBack), 1, 1, 3, 1); + } + + private void top_Paint(object sender, PaintEventArgs e) + { + var gfx = e.Graphics; + gfx.Clear(SaveSystem.currentTheme.threeDObjectsColor); + + var _lightBack = Paintbrush.GetLightFromColor(SaveSystem.currentTheme.threeDObjectsColor); + + gfx.DrawLine(new Pen(_lightBack), 0, 1, top.Width, 1); + } + + private void toprightcorner_Paint(object sender, PaintEventArgs e) + { + var gfx = e.Graphics; + gfx.Clear(SaveSystem.currentTheme.threeDObjectsColor); + + var _lightBack = Paintbrush.GetLightFromColor(SaveSystem.currentTheme.threeDObjectsColor); + var _darkBack = Paintbrush.GetDarkFromColor(SaveSystem.currentTheme.threeDObjectsColor); + + gfx.DrawLine(new Pen(_lightBack), 0, 1, 1, 1); + gfx.DrawLine(new Pen(_darkBack), 2, 1, 2, 3); + gfx.DrawLine(Pens.Black, 3, 0, 3, 3); + } + + private void right_Paint(object sender, PaintEventArgs e) + { + var gfx = e.Graphics; + gfx.Clear(SaveSystem.currentTheme.threeDObjectsColor); + + var _darkBack = Paintbrush.GetDarkFromColor(SaveSystem.currentTheme.threeDObjectsColor); + + gfx.DrawLine(Pens.Black, 3, 0, 3, bottom.Width); + gfx.DrawLine(new Pen(_darkBack), 2, 0, 2, bottom.Width); + } + + private void bottomrightcorner_Paint(object sender, PaintEventArgs e) + { + var gfx = e.Graphics; + gfx.Clear(SaveSystem.currentTheme.threeDObjectsColor); + + var _darkBack = Paintbrush.GetDarkFromColor(SaveSystem.currentTheme.threeDObjectsColor); + + gfx.DrawLine(Pens.Black, 3, 0, 3, 3); + gfx.DrawLine(Pens.Black, 0, 3, 3, 3); + gfx.DrawLine(new Pen(_darkBack), 2, 0, 2, 2); + gfx.DrawLine(new Pen(_darkBack), 0, 2, 2, 2); + } + public Size prevSize; public Point prevPoint; private void maximizebutton_Click(object sender, EventArgs e) -- cgit v1.2.3 From 410b793a8bd68af20521623f2c41d9608df32af4 Mon Sep 17 00:00:00 2001 From: lempamo Date: Tue, 5 Sep 2017 21:13:06 -0400 Subject: windows now change theme immediately --- Histacom2.Engine/Paintbrush.cs | 7 +++++-- Histacom2.Engine/Template/WinClassic.cs | 1 + Histacom2.Engine/Theme.cs | 5 +++++ Histacom2.Engine/WindowManager.cs | 1 + .../OS/Win95/Win95Apps/WinClassicThemePanel.cs | 24 ++++++++++++++++++++-- 5 files changed, 34 insertions(+), 4 deletions(-) (limited to 'Histacom2.Engine/Template/WinClassic.cs') diff --git a/Histacom2.Engine/Paintbrush.cs b/Histacom2.Engine/Paintbrush.cs index ab84491..4424371 100644 --- a/Histacom2.Engine/Paintbrush.cs +++ b/Histacom2.Engine/Paintbrush.cs @@ -48,14 +48,17 @@ namespace Histacom2.Engine public static Color GetLightFromColor(Color basecolor) { + if (basecolor == Color.Silver) return Color.White; if (basecolor == Color.FromArgb(112, 112, 112)) return Color.FromArgb(184, 184, 184); - return ControlPaint.Light(basecolor, 50); + if (basecolor == Color.FromArgb(169, 200, 169)) return Color.FromArgb(218, 223, 218); + return ControlPaint.Light(basecolor, 70); } public static Color GetDarkFromColor(Color basecolor) { if (basecolor == Color.FromArgb(112, 112, 112)) return Color.FromArgb(72, 72, 72); - return ControlPaint.Dark(basecolor, 50); + if (basecolor == Color.FromArgb(169, 200, 169)) return Color.FromArgb(95, 153, 95); + return ControlPaint.Dark(basecolor, 70); } } } diff --git a/Histacom2.Engine/Template/WinClassic.cs b/Histacom2.Engine/Template/WinClassic.cs index c1c7fe1..0ccbe5b 100644 --- a/Histacom2.Engine/Template/WinClassic.cs +++ b/Histacom2.Engine/Template/WinClassic.cs @@ -16,6 +16,7 @@ namespace Histacom2.Engine.Template public Font fnt; public ResizeOverlay resizer = new ResizeOverlay(); + public UserControl progContent; public bool resizable = true; public bool closeDisabled = false; diff --git a/Histacom2.Engine/Theme.cs b/Histacom2.Engine/Theme.cs index 8aa9dcf..5b5ae50 100644 --- a/Histacom2.Engine/Theme.cs +++ b/Histacom2.Engine/Theme.cs @@ -127,6 +127,11 @@ namespace Histacom2.Engine asteriskSound = Properties.Resources.Win95PlusInsideComputerAsterisk; + threeDObjectsColor = Color.FromArgb(169, 200, 169); + threeDObjectsTextColor = Color.Black; + + buttonFont = new Font("Microsoft Sans Serif", 8.25F, FontStyle.Bold); + activeTitleBarColor = Color.FromArgb(224, 0, 0); activeTitleTextColor = Color.White; inactiveTitleBarColor = Color.FromArgb(96, 168, 128); diff --git a/Histacom2.Engine/WindowManager.cs b/Histacom2.Engine/WindowManager.cs index cffb74a..4f4951c 100644 --- a/Histacom2.Engine/WindowManager.cs +++ b/Histacom2.Engine/WindowManager.cs @@ -60,6 +60,7 @@ namespace Histacom2.Engine content.Parent = app.programContent; content.BringToFront(); content.Dock = DockStyle.Fill; + app.progContent = content; // Check if icon is null if (icon == null) diff --git a/Histacom2/OS/Win95/Win95Apps/WinClassicThemePanel.cs b/Histacom2/OS/Win95/Win95Apps/WinClassicThemePanel.cs index da354bf..d491eef 100644 --- a/Histacom2/OS/Win95/Win95Apps/WinClassicThemePanel.cs +++ b/Histacom2/OS/Win95/Win95Apps/WinClassicThemePanel.cs @@ -96,7 +96,17 @@ namespace Histacom2.OS.Win95.Win95Apps ((WinClassic)f).Title.ForeColor = SaveSystem.currentTheme.inactiveTitleTextColor; } f.Invalidate(); - foreach (Control c in f.Controls) c.Invalidate(); + ((WinClassic)f).programContent.Invalidate(); + ((WinClassic)f).top.Invalidate(); + ((WinClassic)f).toprightcorner.Invalidate(); + ((WinClassic)f).right.Invalidate(); + ((WinClassic)f).bottomrightcorner.Invalidate(); + ((WinClassic)f).bottom.Invalidate(); + ((WinClassic)f).bottomleftcorner.Invalidate(); + ((WinClassic)f).left.Invalidate(); + ((WinClassic)f).topleftcorner.Invalidate(); + foreach (Control c in ((WinClassic)f).progContent.Controls) c.Invalidate(); + ((WinClassic)f).progContent.BackColor = SaveSystem.currentTheme.threeDObjectsColor; } } } @@ -139,7 +149,17 @@ namespace Histacom2.OS.Win95.Win95Apps ((WinClassic)f).Title.ForeColor = SaveSystem.currentTheme.inactiveTitleTextColor; } f.Invalidate(); - foreach (Control c in f.Controls) c.Invalidate(); + ((WinClassic)f).programContent.Invalidate(); + ((WinClassic)f).top.Invalidate(); + ((WinClassic)f).toprightcorner.Invalidate(); + ((WinClassic)f).right.Invalidate(); + ((WinClassic)f).bottomrightcorner.Invalidate(); + ((WinClassic)f).bottom.Invalidate(); + ((WinClassic)f).bottomleftcorner.Invalidate(); + ((WinClassic)f).left.Invalidate(); + ((WinClassic)f).topleftcorner.Invalidate(); + foreach (Control c in ((WinClassic)f).progContent.Controls) c.Invalidate(); + ((WinClassic)f).progContent.BackColor = SaveSystem.currentTheme.threeDObjectsColor; } } ParentForm.Close(); -- cgit v1.2.3