Пример #1
0
        /// <summary>
        /// Inject MouseDown at x/y
        /// </summary>
        /// <param name="x"></param>
        /// <param name="y"></param>
        public static void MouseDown(int x, int y, SFML.Window.Mouse.Button b)
        {
            foreach (BrowserTab t in Tabs)
            {
                if (t.MouseOver(x, y) && t.Clickable && b == Mouse.Button.Left)
                {
                    awesomiumContext.Send(state =>
                    {
                        t.MyTab.InjectMouseDown(MouseButton.Left);
                    }, null);
                }
            }

            if (Mouse.IsButtonPressed(Mouse.Button.Right))
            {
                Tabs.Reverse();
                foreach (BrowserTab t in Tabs)
                {
                    if (t.MouseOver(x, y))
                    {
                        t.mouseDrag   = true;
                        t.dragOffsetX = (uint)(x - t.View.Position.X);
                        t.dragOffsetY = (uint)(y - t.View.Position.Y);
                        Tabs.Reverse();
                        Tabs.Remove(t);
                        Tabs.Add(t);
                        return;
                    }
                }
            }
        }
Пример #2
0
        /// <summary>
        /// Inject MouseDown at x/y
        /// </summary>
        /// <param name="x"></param>
        /// <param name="y"></param>
        public static void MouseDown(int x, int y, SFML.Window.Mouse.Button b)
        {
            if (SceneManager.UI != null && SceneManager.UI.MouseOver(x, y))
            {
                awesomiumContext.Send(state =>
                {
                    try { SceneManager.UI.MyTab.InjectMouseDown(MouseButton.Left); }
                    catch { Console.WriteLine("UI Cannot be moved"); }
                }, null);
            }

            if (Tabs.Count == 0)
            {
                return;
            }

            List <BrowserTab> tablist = Tabs.ToList();

            tablist.Reverse();

            foreach (BrowserTab t in tablist)
            {
                if (t.MouseOver(x, y) && t.Clickable && b == Mouse.Button.Left)
                {
                    CurrentTab = t.ID;
                    Tabs.Remove(t);
                    Tabs.Add(t);

                    awesomiumContext.Send(state =>
                    {
                        t.MyTab.InjectMouseDown(MouseButton.Left);
                    }, null);
                    return;
                }
            }

            if (Mouse.IsButtonPressed(Mouse.Button.Right))
            {
                if (Tabs.Count == 0)
                {
                    return;
                }
                foreach (BrowserTab t in tablist)
                {
                    if (t.MouseOver(x, y))
                    {
                        Tabs.Remove(t);
                        Tabs.Add(t);
                        t.mouseDrag   = true;
                        t.dragOffsetX = (uint)(x - t.View.Position.X);
                        t.dragOffsetY = (uint)(y - t.View.Position.Y);
                        return;
                    }
                }
            }
        }