private static void Handle(HlyssForm form) { //(form.Root.FindChild("ToolTip 1") as ToolTip).Target = form.Root.FindChild("Panel 1"); //form.Root.FindChild("Panel 1").Clicked += (object sender) => //{ // (form.Root.FindChild("Menu 1") as Menu).Show(form.MousePosition); //}; //form.Root.FindChild("show_form").Clicked += (object sender) => //{ // //app.GetForm("browse_folder_dialog").Show(); // app.RegisterAndShow(new BrowseFolderDialog()); //}; for (int i = 0; i < 10000; i++) { //form.Root.FindChild("list").Children.Add(new Button($"ListItem {i + 4}")); form.Root.FindChild("list").Children.Add(new Panel() { Width = "100px", Height = "100px" }); } //(form.Root.FindChild("toggle") as ISelectable).OnSelect += (_) => ThemeManager.SetTheme("dark"); //(form.Root.FindChild("toggle") as ISelectable).OnUnselect += (_) => ThemeManager.SetTheme("light"); }
static void Main(string[] args) { ThemeManager.LoadFromFile("DefaultTheme.xml"); ThemeManager.SetTheme("dark"); StyleBank.LoadFromFile("style.hss"); HlyssApplication.InitializeStyles(); HlyssForm form = new HlyssForm() { Size = new Vector2u(1280, 720), Title = "Cior" }; form.Root.AddChild(new BasicRouter() { Name = "router" }); (form.Root.GetChild("router") as Router).Navigate(Test2()); form.Show(); app.RegisterForm("main", form); app.RegisterForm("browse_folder_dialog", new MessageBox("Galactic Dissent", "Czy na pewno chcesz odinstalować ten produkt?\n• Galactic Dissent", "Nie", "Tak")); //Handle(form); //form.Window.SetFramerateLimit(0); Stopwatch fpsTimer = Stopwatch.StartNew(); int fps = 0; form.Window.KeyPressed += (object sender, KeyEventArgs e) => { if (e.Code == Keyboard.Key.F3) { HlyssApplication.Debug = !HlyssApplication.Debug; } if (e.Code == Keyboard.Key.C) { Console.Clear(); } }; while (form.IsOpen) { app.UpdateAllForms(); app.DrawAllForms(); fps++; if (fpsTimer.ElapsedMilliseconds >= 1000) { form.Title = $"{caption} ({fps} fps)"; fps = 0; fpsTimer.Restart(); } } }
public void Update(HlyssForm form, Vector2i mousePosition) { _mPos = mousePosition; Component[] prevComponents = new Component[HoveredComponents.Count]; HoveredComponents.CopyTo(prevComponents); HoveredComponents.Clear(); FindHovered(form); CompareHover(prevComponents.ToList(), HoveredComponents); }
public void UnregisterEvents() { _form.Window.MouseButtonPressed -= Window_MouseButtonPressed; _form.Window.MouseButtonReleased -= Window_MouseButtonReleased; _form.Window.MouseMoved -= Window_MouseMoved; _form.Window.MouseWheelScrolled -= Window_MouseWheelScrolled; _form.Window.KeyPressed -= Window_KeyPressed; _form.Window.KeyReleased -= Window_KeyReleased; _form.Window.TextEntered -= Window_TextEntered; _form = null; }
public void RegisterEvents(HlyssForm form) { _form = form; _form.Window.MouseButtonPressed += Window_MouseButtonPressed; _form.Window.MouseButtonReleased += Window_MouseButtonReleased; _form.Window.MouseMoved += Window_MouseMoved; _form.Window.MouseWheelScrolled += Window_MouseWheelScrolled; _form.Window.KeyPressed += Window_KeyPressed; _form.Window.KeyReleased += Window_KeyReleased; _form.Window.TextEntered += Window_TextEntered; }
private void FindHovered(HlyssForm form) { Component firstHovered = null; for (int i = form.FlatComponentTree.Count - 1; i >= 0; i--) { Component component = form.FlatComponentTree[i]; if (component.Bounds.Contains(_mPos.X, _mPos.Y) && (component.Parent == null || component.PositionType == Layout.PositionType.Fixed || (component.Parent != null && component.Parent.ClipArea.Bounds.Contains(_mPos.X, _mPos.Y))) && component.Hoverable && component.Visible) { firstHovered = component; HoveredComponents.Add(component); break; } } if (firstHovered != null) { AddPredecessors(firstHovered); } }