public static PRectangle GetNew() { PRectangle p = new PRectangle(); p.h = p.w = rand.Next(100, 400); p.y = rand.Next(-(int)p.h, Main.WindowHeight); p.opacity = rand.Next(0, 3); if (p.opacity == 0) p.opacity = 0.03f; else if (p.opacity == 1) p.opacity = 0.06f; else if (p.opacity == 2) p.opacity = 0.09f; p.speedx = rand.Next(0, 3); if (p.speedx == 0) p.speedx = 0.5f; else if (p.speedx == 2) p.speedx = 1.5f; p.speedx *= rand.Next(0, 2) == 1 ? 1 : -1; p.speedx /= 2; if (p.speedx < 0) p.x = Main.WindowWidth; else p.x = -p.w; p.isDead = false; p.speedy = 0; return p; }
public RectangleTool() { Identifier = this.GetType().Name; Name = "Rectangle tool"; IsEnabled = true; PaintingObject = new PRectangle(); Cursor = Cursors.Hand; }
/// <summary> /// remove the menu, resize the window, remove border, and maximize /// </summary> public void RemoveBorder(ProcessDetails pd, Favorite favDetails = null, bool overrideTimeout = false) { if (favDetails != null && favDetails.DelayBorderless && overrideTimeout == false) { //Wait 10 seconds before removing the border. var task = new Task(() => RemoveBorder(pd, favDetails, true)); task.Wait(TimeSpan.FromSeconds(10)); } // If a Favorite screen exists, use the Rect from that, instead if (favDetails?.FavScreen != null) { RemoveBorder_ToSpecificRect(pd, PRectangle.ToRectangle(favDetails.FavScreen), favDetails, overrideTimeout); return; } Manipulation.MakeWindowBorderless(pd, _form, pd.WindowHandle, new Rectangle(), favDetails ?? Favorite.FromWindow(pd)); }
/// <summary> /// Initializes a new instance of the <see cref="RectangleCollider"/> class. /// </summary> /// <param name="x">X value of upper left hand corner.</param> /// <param name="y">Y value of upper left hand corner.</param> /// <param name="w">Width of rectangle.</param> /// <param name="h">Height of rectangle.</param> public RectangleCollider(double x, double y, double w, double h) { VerticesInternal = new Vector2[] { new Vector2((float)x, (float)y), new Vector2((float)(x + w), (float)y), new Vector2((float)(x + w), (float)(y + h)), new Vector2((float)x, (float)(y + h)) }; PRectangle rectangle = new PRectangle(Vertices[0], Vertices[1], Vertices[2], Vertices[3]); TrianglesInternal = new PTriangle[] { rectangle.TriOne, rectangle.TriTwo }; }
public static PRectangle GetNew() { PRectangle p = new PRectangle(); p.h = p.w = rand.Next(100, 400); p.y = rand.Next(-(int)p.h, Main.WindowHeight); p.opacity = rand.Next(0, 3); if (p.opacity == 0) { p.opacity = 0.03f; } else if (p.opacity == 1) { p.opacity = 0.06f; } else if (p.opacity == 2) { p.opacity = 0.09f; } p.speedx = rand.Next(0, 3); if (p.speedx == 0) { p.speedx = 0.5f; } else if (p.speedx == 2) { p.speedx = 1.5f; } p.speedx *= rand.Next(0, 2) == 1 ? 1 : -1; p.speedx /= 2; if (p.speedx < 0) { p.x = Main.WindowWidth; } else { p.x = -p.w; } p.isDead = false; p.speedy = 0; return(p); }
public override void Update() { for (int i = 0; i < rects.Count; i++) { rects[i].Update(); if (rects[i].isDead) { rects.RemoveAt(i); i--; } } ticksSinceLastRect++; if (ticksSinceLastRect > 90) { ticksSinceLastRect = 0; rects.Add(PRectangle.GetNew()); } }
/// <summary> /// Sets up the Favorite-ContextMenu according to the current state /// </summary> private void mnuFavoritesContext_Opening(object sender, CancelEventArgs e) { if (lstFavorites.SelectedItem == null) { e.Cancel = true; return; } var fav = (Favorite)lstFavorites.SelectedItem; toolStripFullScreen.Checked = fav.Size == FavoriteSize.FullScreen; toolStripMuteInBackground.Checked = fav.MuteInBackground; toolStripAutomaximize.Checked = fav.ShouldMaximize; toolStripAlwaysOnTop.Checked = fav.TopMost; toolStripHideMouseCursor.Checked = fav.HideMouseCursor; toolStripHideWindowsTaskbar.Checked = fav.HideWindowsTaskbar; toolStripRemoveMenus.Checked = fav.RemoveMenus; toolStripAutomaximize.Enabled = fav.Size == FavoriteSize.FullScreen; toolStripAdjustWindowBounds.Enabled = fav.Size == FavoriteSize.FullScreen && !fav.ShouldMaximize; toolStripSetSetWindowSize.Enabled = fav.Size != FavoriteSize.FullScreen; toolStripSetSetWindowSize.Checked = fav.Size == FavoriteSize.SpecificSize; toolStripNoSizeChange.Checked = fav.Size == FavoriteSize.NoChange; if (Screen.AllScreens.Length < 2) { contextFavScreen.Visible = false; } else { contextFavScreen.Visible = true; if (contextFavScreen.HasDropDownItems) { contextFavScreen.DropDownItems.Clear(); } var superSize = Screen.PrimaryScreen.Bounds; foreach (var screen in Screen.AllScreens) { superSize = Tools.GetContainingRectangle(superSize, screen.Bounds); // fix for a .net-bug on Windows XP var idx = screen.DeviceName.IndexOf('\0'); var fixedDeviceName = idx > 0 ? screen.DeviceName.Substring(0, idx) : screen.DeviceName; var label = fixedDeviceName + (screen.Primary ? " (P)" : string.Empty); var index = contextFavScreen.DropDownItems.Add(new ToolStripMenuItem { Text = label, CheckOnClick = true, Checked = fav.FavScreen?.Equals(PRectangle.ToPRectangle(screen.Bounds)) ?? false }); contextFavScreen.DropDownItems[index].Click += (s, ea) => { var tt = (ToolStripMenuItem)s; fav.FavScreen = tt.Checked ? PRectangle.ToPRectangle(screen.Bounds) : new PRectangle(); Config.Save(); }; } // add supersize Option var superIndex = contextFavScreen.DropDownItems.Add(new ToolStripMenuItem { Text = LanguageManager.Data("superSize"), CheckOnClick = true, Checked = fav.FavScreen?.Equals(PRectangle.ToPRectangle(superSize)) ?? false }); contextFavScreen.DropDownItems[superIndex].Click += (s, ea) => { fav.FavScreen = PRectangle.ToPRectangle(superSize); Config.Save(); }; } }
/// <summary> /// Sets up the Favorite-ContextMenu according to the current state /// </summary> private void mnuFavoritesContext_Opening(object sender, CancelEventArgs e) { if (lstFavorites.SelectedItem == null) { e.Cancel = true; return; } var fav = (Favorite)lstFavorites.SelectedItem; fullScreenToolStripMenuItem.Checked = fav.Size == FavoriteSize.FullScreen; muteInBackgroundToolStripMenuItem.Checked = fav.MuteInBackground; automaximizeToolStripMenuItem.Checked = fav.ShouldMaximize; alwaysOnTopToolStripMenuItem.Checked = fav.TopMost; hideMouseCursorToolStripMenuItem.Checked = fav.HideMouseCursor; hideWindowsTaskbarToolStripMenuItem.Checked = fav.HideWindowsTaskbar; removeMenusToolStripMenuItem.Checked = fav.RemoveMenus; automaximizeToolStripMenuItem.Enabled = fav.Size == FavoriteSize.FullScreen; adjustWindowBoundsToolStripMenuItem.Enabled = fav.Size == FavoriteSize.FullScreen && !fav.ShouldMaximize; setWindowSizeToolStripMenuItem.Enabled = fav.Size != FavoriteSize.FullScreen; setWindowSizeToolStripMenuItem.Checked = fav.Size == FavoriteSize.SpecificSize; noSizeChangeToolStripMenuItem.Checked = fav.Size == FavoriteSize.NoChange; if (Screen.AllScreens.Length < 2) { contextFavScreen.Visible = false; } else { contextFavScreen.Visible = true; if (contextFavScreen.HasDropDownItems) { contextFavScreen.DropDownItems.Clear(); } var superSize = Screen.PrimaryScreen.Bounds; foreach (var screen in Screen.AllScreens) { superSize = Tools.GetContainingRectangle(superSize, screen.Bounds); // fix for a .net-bug on Windows XP var idx = screen.DeviceName.IndexOf('\0'); var fixedDeviceName = idx > 0 ? screen.DeviceName.Substring(0, idx) : screen.DeviceName; var label = fixedDeviceName + (screen.Primary ? " (P)" : string.Empty); var tsi = new ToolStripMenuItem(label); tsi.Checked = fav.FavScreen?.Equals(PRectangle.ToPRectangle(screen.Bounds)) ?? false; tsi.Click += (s, ea) => { if (tsi.Checked) { fav.FavScreen = new PRectangle(); // Can't null a Rectangle, so can never fully un-favorite a screen without removing the favorite. } else { fav.FavScreen = PRectangle.ToPRectangle(screen.Bounds); } Config.Save(); }; contextFavScreen.DropDownItems.Add(tsi); } // add supersize Option var superSizeItem = new ToolStripMenuItem("SuperSize!"); superSizeItem.Click += (s, ea) => { fav.FavScreen = PRectangle.ToPRectangle(superSize); }; contextFavScreen.DropDownItems.Add(superSizeItem); } }