summaryrefslogtreecommitdiff
path: root/Libraries/LibGUI/Window.h
AgeCommit message (Collapse)Author
2020-05-02WindowServer+LibGUI: Automatically close child windows with parentAndreas Kling
If a window has child windows when it's destroyed, WindowServer will now automatically tear down all of its children as well. This is communicated to the client program through a vector of window ID's included with the response to WindowServer::DestroyWindow. This does feel a little bit awkward, but managing it on the client side also seems a bit awkward.
2020-05-02WindowServer+LibGUI: Add "frameless" window flagAndreas Kling
This allows you to create windows with no title bar or window frame.
2020-05-02WindowServer+LibGUI: Remove unused Window::show_titlebar() flagAndreas Kling
Nobody was using this flag, so let's stop maintaining it. It's easy to add it back if we ever want the behavior.
2020-05-02LibGUI+WindowServer: Inform WindowServer about parent/child windowsAndreas Kling
If a window has another window in its Core::Object ancestor chain, we now communicate that relationship to WindowServer so that it can act with awareness of parent/child windows.
2020-04-15LibGfx: Don't allow creating bitmaps whose sizes would overflowAndreas Kling
If the area or size_in_bytes calculation for a Gfx::Bitmap would overflow, we now refuse to create such a bitmap and return nullptr. Thanks to @itamar8910 for finding this! :^)
2020-03-22LibGUI: Don't spam WindowServer with SetWindowOverrideCursor messagesAndreas Kling
Remember the override cursor in GUI::Window and avoid sending a message to WindowServer when possible. This removes a lot of synchronous IPC between Browser and WindowServer, which noticeably improves DOM event responsiveness. :^)
2020-03-16LibGUI: Add a ThemeChange eventOriko
2020-03-12LibGUI: Track window visibility with a separate flag (#1424)Alex Muscar
See https://github.com/SerenityOS/serenity/pull/1410 for the motivation.
2020-03-05LibGUI: Forget some of Window's widgets eagerly on widget unparentingAndreas Kling
Previously the focused widget would only get cleared on replacement or on destruction (being a WeakPtr and all.) This could lead to window dispatching events to a focused widget after it had been removed from the window's widget tree. The same issue existed for the hovered widget, etc. So this patch makes sure that we eagerly clear the various widget pointers in Window immediately when they are removed from the window's widget tree.
2020-03-03LibGUI: Some more convenience functions for constructing widgetsAndreas Kling
This patch adds two new API's: - WidgetType& GUI::Window::set_main_widget<WidgetType>(); This creates a new main widget for a window, assigns it, and returns it to you as a WidgetType&. - LayoutType& GUI::Widget::set_layout<LayoutType>(); Same basic idea, creates a new layout, assigns it, and returns it to you as a LayoutType&.
2020-02-24WindowServer+LibGUI: Allow changing a window's base size and incrementAndreas Kling
Previously it was only possible to change these window attributes when creating a new window. This patch adds an IPC message that allows you to change them at runtime.
2020-02-19WindowServer+LibGUI: Force full window repaints after theme changeAndreas Kling
We were not repainting windows that were occluded at the time of the theme changing. This patch adds a way to bypass occlusion testing when invalidating window rects. Fixes #1249.
2020-02-16LibGUI: Add forwarding headerAndreas Kling
This patch adds <LibGUI/Forward.h> and uses it a bunch. It also dragged various header dependency reduction changes into it.
2020-02-14LibGfx: Add forward declaration headerAndreas Kling
This patch adds <LibGfx/Forward.h> with forward declarations for Gfx.
2020-02-14LibCore: Add a forward declaration headerAndreas Kling
This patch adds <LibCore/Forward.h> and uses it in various places to shrink the header dependency graph.
2020-02-06LibGUI: Remove leading G from filenamesAndreas Kling