LibGfx+LibGUI: Add FrameShape::Window
This shape is for use by the main widget of a frameless window that still wishes to have proper borders but no title. Raised Containers were used previously for this pattern but did not always represent perspective and shadow correctly depending on thread highlighting and the immediate background color. Containers are really meant to be used inside other widgets where the background color can be controlled.
This commit is contained in:
parent
7a7e57ced0
commit
bb4963a697
Notes:
sideshowbarker
2024-07-17 18:17:20 +09:00
Author: https://github.com/thankyouverycool Commit: https://github.com/SerenityOS/serenity/commit/bb4963a697 Pull-request: https://github.com/SerenityOS/serenity/pull/12761
3 changed files with 8 additions and 1 deletions
|
@ -28,7 +28,8 @@ Frame::Frame()
|
|||
{ Gfx::FrameShape::NoFrame, "NoFrame" },
|
||||
{ Gfx::FrameShape::Box, "Box" },
|
||||
{ Gfx::FrameShape::Container, "Container" },
|
||||
{ Gfx::FrameShape::Panel, "Panel" });
|
||||
{ Gfx::FrameShape::Panel, "Panel" },
|
||||
{ Gfx::FrameShape::Window, "Window" });
|
||||
}
|
||||
|
||||
Frame::~Frame()
|
||||
|
|
|
@ -219,6 +219,11 @@ void ClassicStylePainter::paint_frame(Painter& painter, IntRect const& rect, Pal
|
|||
if (shape == Gfx::FrameShape::NoFrame)
|
||||
return;
|
||||
|
||||
if (shape == FrameShape::Window) {
|
||||
StylePainter::paint_window_frame(painter, rect, palette);
|
||||
return;
|
||||
}
|
||||
|
||||
Color top_left_color;
|
||||
Color bottom_right_color;
|
||||
Color dark_shade = palette.threed_shadow1();
|
||||
|
|
|
@ -28,6 +28,7 @@ enum class FrameShape {
|
|||
Box,
|
||||
Container,
|
||||
Panel,
|
||||
Window,
|
||||
};
|
||||
|
||||
// FIXME: should this be in its own header?
|
||||
|
|
Loading…
Add table
Reference in a new issue