mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 07:38:10 +00:00
LibGUI: Improve GFrame's look for Container shapes.
This is now starting to look like a proper container. Very nice :^)
This commit is contained in:
parent
f939fb7eb7
commit
5d72cf5a3f
7 changed files with 50 additions and 20 deletions
|
@ -21,7 +21,7 @@ void GFrame::paint_event(GPaintEvent& event)
|
|||
|
||||
Color top_left_color;
|
||||
Color bottom_right_color;
|
||||
Color dark_shade = m_shape == Shape::Container ? Color::from_rgb(0x404040) : Color::from_rgb(0x808080);
|
||||
Color dark_shade = Color::from_rgb(0x808080);
|
||||
Color light_shade = Color::from_rgb(0xffffff);
|
||||
|
||||
if (m_shadow == Shadow::Raised) {
|
||||
|
@ -35,8 +35,32 @@ void GFrame::paint_event(GPaintEvent& event)
|
|||
bottom_right_color = dark_shade;
|
||||
}
|
||||
|
||||
painter.draw_line(rect().top_left(), rect().top_right(), top_left_color);
|
||||
painter.draw_line(rect().bottom_left(), rect().bottom_right(), bottom_right_color);
|
||||
painter.draw_line(rect().top_left().translated(0, 1), rect().bottom_left().translated(0, -1), top_left_color);
|
||||
painter.draw_line(rect().top_right(), rect().bottom_right().translated(0, -1), bottom_right_color);
|
||||
if (m_thickness >= 1) {
|
||||
painter.draw_line(rect().top_left(), rect().top_right(), top_left_color);
|
||||
painter.draw_line(rect().bottom_left(), rect().bottom_right(), bottom_right_color);
|
||||
painter.draw_line(rect().top_left().translated(0, 1), rect().bottom_left().translated(0, -1), top_left_color);
|
||||
painter.draw_line(rect().top_right(), rect().bottom_right().translated(0, -1), bottom_right_color);
|
||||
}
|
||||
|
||||
if (m_shape == Shape::Container && m_thickness >= 2) {
|
||||
Color top_left_color;
|
||||
Color bottom_right_color;
|
||||
Color dark_shade = Color::from_rgb(0x404040);
|
||||
Color light_shade = Color::from_rgb(0xc0c0c0);
|
||||
if (m_shadow == Shadow::Raised) {
|
||||
top_left_color = light_shade;
|
||||
bottom_right_color = dark_shade;
|
||||
} else if (m_shadow == Shadow::Sunken) {
|
||||
top_left_color = dark_shade;
|
||||
bottom_right_color = light_shade;
|
||||
} else if (m_shadow == Shadow::Plain) {
|
||||
top_left_color = dark_shade;
|
||||
bottom_right_color = dark_shade;
|
||||
}
|
||||
Rect inner_container_frame_rect = rect().shrunken(2, 2);
|
||||
painter.draw_line(inner_container_frame_rect.top_left(), inner_container_frame_rect.top_right(), top_left_color);
|
||||
painter.draw_line(inner_container_frame_rect.bottom_left(), inner_container_frame_rect.bottom_right(), bottom_right_color);
|
||||
painter.draw_line(inner_container_frame_rect.top_left().translated(0, 1), inner_container_frame_rect.bottom_left().translated(0, -1), top_left_color);
|
||||
painter.draw_line(inner_container_frame_rect.top_right(), inner_container_frame_rect.bottom_right().translated(0, -1), bottom_right_color);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue