summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibGUI/Widget.h
AgeCommit message (Collapse)Author
2021-06-24AK: Rename downcast<T> => verify_cast<T>Andreas Kling
This makes it much clearer what this cast actually does: it will VERIFY that the thing we're casting is a T (using is<T>()).
2021-06-20WindowServer: Add initial support for rendering on multiple screensTom
This allows WindowServer to use multiple framebuffer devices and compose the desktop with any arbitrary layout. Currently, it is assumed that it is configured contiguous and non-overlapping, but this should eventually be enforced. To make rendering efficient, each window now also tracks on which screens it needs to be rendered. This way we don't have to iterate all the windows for each screen but instead use the same rendering loop and then only render to the screen (or screens) that the window actually uses.
2021-06-08Everywhere: Replace Vector<T*> with nonnull entries with Vector<T&>Ali Mohammad Pur
2021-05-06LibGUI: Move widget registration to LibCoreTom
This also moves Widget::load_from_json into Core::Object as a virtual function in order to allow loading non-widget objects in GML (e.g. BoxLayout). Co-authored-by: Gunnar Beutner <gbeutner@serenityos.org>
2021-04-22Everything: Move to SPDX license identifiers in all files.Brian Gianforcaro
SPDX License Identifiers are a more compact / standardized way of representing file license information. See: https://spdx.dev/resources/use/#identifiers This was done with the `ambr` search and replace tool. ambr --no-parent-ignore --key-from-file --rep-from-file key.txt rep.txt *
2021-04-17LibGUI: Make GUI::Widget::set_tooltip() take a StringAndreas Kling
There was no reason for this to take a StringView.
2021-04-04LibGUI: Add ScreenRectChangeEvent and deliver it to windows and widgetsLinus Groh
Having to rely on GUI::Desktop's on_rect_change is quite limiting and a bit awkward (continuing to use it would mean having to setup the callback in every application using a webview) - we need a better way of letting widgets know of a screen rect change automatically. The specific use case will be IPWV/OOPWV which need to keep track of the screen rect and notify the WebContent service of any change (which on its own deliberately can't interact with WindowServer at all). It'll also be useful for notification windows and the taskbar, which currently both rely on the GUI::Desktop callback but will now be able to listen and react to the event themselves.
2021-03-29LibGUI: Enable the use of font properties through GMLEdgar Araújo
You can now specify the font, font_size, font_weight and font_type (fixed_width/normal) through GML
2021-03-28LibGUI: Make GUI::Widget::event() protectedAndreas Kling
2021-03-08LibGUI: Use AK_ENUM_BITWISE_OPERATORS for the FocusPolicy enumBrian Gianforcaro
2021-02-15LibGUI: Open context menu on 'Menu' key downJean-Baptiste Boric
2021-01-22LibGUI: Resolve cyclic inclusionBen Wiederhake
Application.h includes Widget.h which includes Application.h. I'm not entirely sure what the semantics are in this case, but avoiding this seems to be the safer approach. In this case, Widget does not actually use Application, so let's just remove the unused include.
2021-01-12Libraries: Move to Userland/Libraries/Andreas Kling