aboutsummaryrefslogtreecommitdiff
path: root/source/WindowsFormsApplication1/WindowComposition.cs
diff options
context:
space:
mode:
Diffstat (limited to 'source/WindowsFormsApplication1/WindowComposition.cs')
-rw-r--r--source/WindowsFormsApplication1/WindowComposition.cs41
1 files changed, 23 insertions, 18 deletions
diff --git a/source/WindowsFormsApplication1/WindowComposition.cs b/source/WindowsFormsApplication1/WindowComposition.cs
index 0e5a5d4..70666ae 100644
--- a/source/WindowsFormsApplication1/WindowComposition.cs
+++ b/source/WindowsFormsApplication1/WindowComposition.cs
@@ -346,27 +346,32 @@ namespace ShiftOS
{
case WindowDragEffect.Shake:
- var rnd = new Random();
- int xOffset = 0;
- int yOffset = 0;
-
- xOffset = rnd.Next(API.CurrentSkin.ShakeMinOffset, API.CurrentSkin.ShakeMaxOffset);
- yOffset = rnd.Next(API.CurrentSkin.ShakeMinOffset, API.CurrentSkin.ShakeMaxOffset);
- int leftright = rnd.Next(0, 1);
- if (API.Upgrades["fancyeffects"] == true)
- {
- form.Left += MouseX * xOffset;
- form.Top += MouseY * yOffset;
- }
- else
- {
- form.Left += MouseX;
- form.Top += MouseY;
- }
-
+ Shake(form, MouseX, MouseY);
break;
}
}
+
+ //Copyright - Adonis S. Deliannis
+ public static void Shake(Form form, int mouseX, int mouseY)
+ {
+ Point mouse = form.PointToScreen(new Point(mouseX, mouseY));
+ int xDist = mouse.X - form.Location.X;
+ int yDist = mouse.Y - form. Location.Y;
+ int X = xDist;
+ int Y = yDist;
+ Random r = new Random();
+ int JiggleCount = 0;
+ int Z = 15;
+
+ while (JiggleCount < 1000)
+ {
+ form.Location = new Point(r.Next(X - Z, X + Z), r.Next(Y - Z, Y + Z));
+ JiggleCount++;
+ }
+
+ JiggleCount = 0;
+ form.Location = new Point(X, Y);
+ }
}
public enum WindowAnimationStyle