aboutsummaryrefslogtreecommitdiff
path: root/ShiftOS.WinForms/Tools/ShiftOSMenuRenderer.cs
diff options
context:
space:
mode:
Diffstat (limited to 'ShiftOS.WinForms/Tools/ShiftOSMenuRenderer.cs')
-rw-r--r--ShiftOS.WinForms/Tools/ShiftOSMenuRenderer.cs51
1 files changed, 48 insertions, 3 deletions
diff --git a/ShiftOS.WinForms/Tools/ShiftOSMenuRenderer.cs b/ShiftOS.WinForms/Tools/ShiftOSMenuRenderer.cs
index 28623ef..a31edd9 100644
--- a/ShiftOS.WinForms/Tools/ShiftOSMenuRenderer.cs
+++ b/ShiftOS.WinForms/Tools/ShiftOSMenuRenderer.cs
@@ -28,16 +28,16 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Drawing;
-using static ShiftOS.Engine.SkinEngine;
+using ShiftOS.Engine;
using System.Windows.Forms;
namespace ShiftOS.WinForms.Tools
{
public class ShiftOSMenuRenderer : ToolStripProfessionalRenderer
{
- public ShiftOSMenuRenderer() : base(new ShiftOSColorTable())
+ public ShiftOSMenuRenderer() : base(new ShiftOSColorTable(ShiftOS.Engine.SkinEngine.LoadedSkin))
{
-
+
}
public ShiftOSMenuRenderer(ProfessionalColorTable table) : base(table)
@@ -45,6 +45,26 @@ namespace ShiftOS.WinForms.Tools
}
+ public ShiftOSMenuRenderer(Skin skn) : base(new ShiftOSColorTable(skn))
+ {
+
+ }
+
+ public Skin LoadedSkin
+ {
+ get
+ {
+ if(ColorTable is ShiftOSColorTable)
+ {
+ return (ColorTable as ShiftOSColorTable).LoadedSkin;
+ }
+ else
+ {
+ return SkinEngine.LoadedSkin;
+ }
+ }
+ }
+
protected override void OnRenderItemText(ToolStripItemTextRenderEventArgs e)
{
if (e.Item.Tag?.ToString() == "applauncherbutton")
@@ -99,6 +119,18 @@ namespace ShiftOS.WinForms.Tools
public class ShiftOSColorTable : ProfessionalColorTable
{
+ public ShiftOSColorTable(ShiftOS.Engine.Skin skn)
+ {
+ LoadedSkin = skn;
+ }
+
+ public Skin LoadedSkin { get; private set; }
+
+ public Image GetImage(string id)
+ {
+ return SkinEngine.GetImage(id);
+ }
+
public override Color ButtonSelectedHighlight
{
get { return LoadedSkin.Menu_ButtonSelectedHighlight; }
@@ -327,6 +359,19 @@ namespace ShiftOS.WinForms.Tools
public class AppLauncherColorTable : ProfessionalColorTable
{
+ public Image GetImage(string id)
+ {
+ return SkinEngine.GetImage(id);
+ }
+
+ public Skin LoadedSkin
+ {
+ get
+ {
+ return SkinEngine.LoadedSkin;
+ }
+ }
+
public override Color ButtonSelectedHighlight
{
get { return LoadedSkin.Menu_ButtonSelectedHighlight; }