Esempio n. 1
0
            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;
            }
Esempio n. 2
0
        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
            };
        }
Esempio n. 5
0
            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);
            }
Esempio n. 6
0
        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());
            }
        }
Esempio n. 7
0
        /// <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();
                };
            }
        }
Esempio n. 8
0
        /// <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);
            }
        }