Browse Source

Updated MoonToggle

vadis 2 years ago
parent
commit
0783c4dc56
1 changed files with 34 additions and 5 deletions
  1. 34 5
      Optimizer/Controls/MoonToggle.cs

+ 34 - 5
Optimizer/Controls/MoonToggle.cs

@@ -1,7 +1,6 @@
 using System;
 using System;
 using System.Drawing;
 using System.Drawing;
 using System.Drawing.Drawing2D;
 using System.Drawing.Drawing2D;
-using System.Drawing.Text;
 using System.Windows.Forms;
 using System.Windows.Forms;
 
 
 namespace Optimizer
 namespace Optimizer
@@ -10,6 +9,9 @@ namespace Optimizer
     {
     {
         private readonly Timer AnimationTimer = new Timer();
         private readonly Timer AnimationTimer = new Timer();
         private int CirclePos = 3;
         private int CirclePos = 3;
+        private int CircleColorR = 255;
+        private int CircleColorG = 255;
+        private int CircleColorB = 255;
         private int Alpha = 0;
         private int Alpha = 0;
 
 
         public MoonToggle()
         public MoonToggle()
@@ -37,8 +39,8 @@ namespace Optimizer
         {
         {
             pevent.Graphics.SmoothingMode = SmoothingMode.AntiAlias;
             pevent.Graphics.SmoothingMode = SmoothingMode.AntiAlias;
             pevent.Graphics.PixelOffsetMode = PixelOffsetMode.HighQuality;
             pevent.Graphics.PixelOffsetMode = PixelOffsetMode.HighQuality;
-            pevent.Graphics.TextRenderingHint = TextRenderingHint.ClearTypeGridFit;
             pevent.Graphics.InterpolationMode = InterpolationMode.High;
             pevent.Graphics.InterpolationMode = InterpolationMode.High;
+
             pevent.Graphics.Clear(Parent.BackColor);
             pevent.Graphics.Clear(Parent.BackColor);
 
 
             GraphicsPath backRect = new GraphicsPath();
             GraphicsPath backRect = new GraphicsPath();
@@ -48,13 +50,33 @@ namespace Optimizer
 
 
             pevent.Graphics.FillPath(new SolidBrush(Options.BackAccentColor), backRect);
             pevent.Graphics.FillPath(new SolidBrush(Options.BackAccentColor), backRect);
             pevent.Graphics.FillPath(new SolidBrush(Color.FromArgb(Alpha, Options.ForegroundColor.R, Options.ForegroundColor.G, Options.ForegroundColor.B)), backRect);
             pevent.Graphics.FillPath(new SolidBrush(Color.FromArgb(Alpha, Options.ForegroundColor.R, Options.ForegroundColor.G, Options.ForegroundColor.B)), backRect);
-            pevent.Graphics.FillEllipse(new SolidBrush(Color.White), new RectangleF(CirclePos, 3, 16, 16));
+            pevent.Graphics.FillEllipse(new SolidBrush(Color.FromArgb(CircleColorR, CircleColorG, CircleColorB)), new RectangleF(CirclePos, 3, 16, 16));
         }
         }
 
 
         private void AnimationTick(object sender, EventArgs e)
         private void AnimationTick(object sender, EventArgs e)
         {
         {
             if (Checked)
             if (Checked)
             {
             {
+                if (Options.TextColor == Color.Black)
+                {
+                    if (CircleColorR != 0 && CircleColorG != 0 && CircleColorB != 0)
+                    {
+                        CircleColorR -= 15;
+                        CircleColorG -= 15;
+                        CircleColorB -= 15;
+                        Invalidate();
+                    }
+                }
+                else
+                {
+                    if (CircleColorR != 255 && CircleColorG != 255 && CircleColorB != 255)
+                    {
+                        CircleColorR += 15;
+                        CircleColorG += 15;
+                        CircleColorB += 15;
+                        Invalidate();
+                    }
+                }
                 if (CirclePos < 26)
                 if (CirclePos < 26)
                 {
                 {
                     CirclePos += 2;
                     CirclePos += 2;
@@ -64,12 +86,19 @@ namespace Optimizer
                 if (Alpha < 255)
                 if (Alpha < 255)
                 {
                 {
                     Alpha += 15;
                     Alpha += 15;
-                    if (CirclePos > 26)
-                        Invalidate();
+                    Invalidate();
                 }
                 }
             }
             }
             else
             else
             {
             {
+                if (CircleColorR != 255 && CircleColorG != 255 && CircleColorB != 255)
+                {
+                    CircleColorR += 15;
+                    CircleColorG += 15;
+                    CircleColorB += 15;
+                    Invalidate();
+                }
+
                 if (CirclePos > 3)
                 if (CirclePos > 3)
                 {
                 {
                     CirclePos -= 2;
                     CirclePos -= 2;