/// <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; } } } }
/// <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; } } } }