1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 08:17:35 +00:00

WindowServer+LibGUI+LibGfx: Add WindowType::ToolWindow

Tool windows are secondary windows with a smaller title bar. The sit on
the layer above normal windows, and cannot be minimized.

These are intended for complex yet non-modal interactions with the
content of a primary window, such as find/replace windows, property
windows, etc.
This commit is contained in:
Andreas Kling 2021-02-16 16:10:39 +01:00
parent 15c1f7a40d
commit 11c8596ad3
12 changed files with 105 additions and 37 deletions

View file

@ -96,12 +96,14 @@ private:
void paint_simple_rect_shadow(Gfx::Painter&, const Gfx::IntRect&, const Gfx::Bitmap&) const;
void paint_notification_frame(Gfx::Painter&);
void paint_normal_frame(Gfx::Painter&);
void paint_tool_window_frame(Gfx::Painter&);
Gfx::Bitmap* window_shadow() const;
bool frame_has_alpha() const;
Gfx::IntRect inflated_for_shadow(const Gfx::IntRect&) const;
Gfx::Bitmap* inflate_for_shadow(Gfx::IntRect&, Gfx::IntPoint&) const;
Gfx::WindowTheme::WindowState window_state_for_theme() const;
String compute_title_text() const;
Window& m_window;
NonnullOwnPtrVector<Button> m_buttons;