From f939fb7eb7207f62d3e82f14e5532bb5af381cda Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Thu, 28 Mar 2019 18:52:03 +0100 Subject: [PATCH] Userland: Add a simple GFrame testing window to guitest2. --- LibGUI/GFrame.cpp | 18 +++++------------- Userland/guitest2.cpp | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 13 deletions(-) diff --git a/LibGUI/GFrame.cpp b/LibGUI/GFrame.cpp index 0426b519ce..bc18c44295 100644 --- a/LibGUI/GFrame.cpp +++ b/LibGUI/GFrame.cpp @@ -19,18 +19,11 @@ void GFrame::paint_event(GPaintEvent& event) GPainter painter(*this); painter.set_clip_rect(event.rect()); - auto rect = this->rect(); - Color top_left_color; Color bottom_right_color; - - Color dark_shade = Color::from_rgb(0x808080); + Color dark_shade = m_shape == Shape::Container ? Color::from_rgb(0x404040) : Color::from_rgb(0x808080); Color light_shade = Color::from_rgb(0xffffff); - if (m_shape == Shape::Container) { - dark_shade = Color::from_rgb(0x404040); - } - if (m_shadow == Shadow::Raised) { top_left_color = light_shade; bottom_right_color = dark_shade; @@ -42,9 +35,8 @@ 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); + 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); } diff --git a/Userland/guitest2.cpp b/Userland/guitest2.cpp index b8c9f1bfd1..ad8429e592 100644 --- a/Userland/guitest2.cpp +++ b/Userland/guitest2.cpp @@ -22,6 +22,7 @@ static GWindow* make_launcher_window(); static GWindow* make_progress_window(); +static GWindow* make_frames_window(); void handle_sigchld(int) { @@ -44,6 +45,9 @@ int main(int argc, char** argv) auto* progress_window = make_progress_window(); progress_window->show(); + auto* frames_window = make_frames_window(); + frames_window->show(); + return app.exec(); } @@ -149,3 +153,37 @@ static GWindow* make_progress_window() return window; } + +static GWindow* make_frames_window() +{ + auto* window = new GWindow; + window->set_title("GFrame styles test"); + window->set_rect({ 100, 400, 240, 80 }); + + auto* widget = new GWidget; + widget->set_fill_with_background_color(true); + window->set_main_widget(widget); + + widget->set_layout(make(Orientation::Vertical)); + + widget->layout()->set_margins({ 8, 8, 8, 8 }); + widget->layout()->set_spacing(8); + + auto add_label = [widget] (const String& text, GFrame::Shape shape, GFrame::Shadow shadow) { + auto* label = new GLabel(text, widget); + label->set_size_policy(SizePolicy::Fill, SizePolicy::Fill); + label->set_frame_shape(shape); + label->set_frame_shadow(shadow); + if (shape == GFrame::Shape::Container) { + label->set_fill_with_background_color(true); + label->set_background_color(Color::White); + } + }; + + add_label("Panel + Raised", GFrame::Shape::Panel, GFrame::Shadow::Raised); + add_label("Panel + Sunken", GFrame::Shape::Panel, GFrame::Shadow::Sunken); + add_label("Container + Raised", GFrame::Shape::Container, GFrame::Shadow::Raised); + add_label("Container + Sunken", GFrame::Shape::Container, GFrame::Shadow::Sunken); + + return window; +}