diff options
Diffstat (limited to 'Demos/HelloWorld')
-rw-r--r-- | Demos/HelloWorld/.gitignore | 3 | ||||
-rw-r--r-- | Demos/HelloWorld/Makefile | 22 | ||||
-rw-r--r-- | Demos/HelloWorld/main.cpp | 37 |
3 files changed, 62 insertions, 0 deletions
diff --git a/Demos/HelloWorld/.gitignore b/Demos/HelloWorld/.gitignore new file mode 100644 index 0000000000..17a4d1f7ae --- /dev/null +++ b/Demos/HelloWorld/.gitignore @@ -0,0 +1,3 @@ +HelloWorld +*.o +*.d diff --git a/Demos/HelloWorld/Makefile b/Demos/HelloWorld/Makefile new file mode 100644 index 0000000000..fe106ee912 --- /dev/null +++ b/Demos/HelloWorld/Makefile @@ -0,0 +1,22 @@ +include ../../Makefile.common + +OBJS = \ + main.o + +APP = HelloWorld + +DEFINES += -DUSERLAND + +all: $(APP) + +$(APP): $(OBJS) + $(LD) -o $(APP) $(LDFLAGS) $(OBJS) -lgui -lcore -lc + +.cpp.o: + @echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $< + +-include $(OBJS:%.o=%.d) + +clean: + @echo "CLEAN"; rm -f $(APPS) $(OBJS) *.d + diff --git a/Demos/HelloWorld/main.cpp b/Demos/HelloWorld/main.cpp new file mode 100644 index 0000000000..4f5d422b4b --- /dev/null +++ b/Demos/HelloWorld/main.cpp @@ -0,0 +1,37 @@ +#include <LibGUI/GApplication.h> +#include <LibGUI/GWindow.h> +#include <LibGUI/GWidget.h> +#include <LibGUI/GLabel.h> +#include <LibGUI/GButton.h> +#include <LibGUI/GBoxLayout.h> + +int main(int argc, char** argv) +{ + GApplication app(argc, argv); + + auto* window = new GWindow; + window->set_rect(100, 100, 240, 160); + window->set_title("Hello World!"); + + auto* main_widget = new GWidget; + window->set_main_widget(main_widget); + main_widget->set_fill_with_background_color(true); + main_widget->set_background_color(Color::White); + main_widget->set_layout(make<GBoxLayout>(Orientation::Vertical)); + main_widget->layout()->set_margins({ 4, 4, 4, 4 }); + + auto* label = new GLabel(main_widget); + label->set_text("Hello World!"); + + auto* button = new GButton(main_widget); + button->set_caption("Good-bye"); + button->set_size_policy(SizePolicy::Fill, SizePolicy::Fixed); + button->set_preferred_size({ 0, 20 }); + button->on_click = [&] (GButton&) { + app.quit(); + }; + + window->show(); + + return app.exec(); +} |