summaryrefslogtreecommitdiff
path: root/project-base/examples/example_window.c
diff options
context:
space:
mode:
authorAldrik Ramaekers <aldrikboy@gmail.com>2024-11-23 22:33:43 +0100
committerAldrik Ramaekers <aldrikboy@gmail.com>2024-11-23 22:33:43 +0100
commitb1e857cf1471d1871a9396696b22fa531da98249 (patch)
tree3923008a8653057698cb339faf6dcfa92e18364b /project-base/examples/example_window.c
parent106bb7fcadf637cec883648916cc8d19529d6199 (diff)
add projbase to repo
Diffstat (limited to 'project-base/examples/example_window.c')
-rw-r--r--project-base/examples/example_window.c71
1 files changed, 71 insertions, 0 deletions
diff --git a/project-base/examples/example_window.c b/project-base/examples/example_window.c
new file mode 100644
index 0000000..b372d8f
--- /dev/null
+++ b/project-base/examples/example_window.c
@@ -0,0 +1,71 @@
+#include <projectbase/project_base.h>
+
+#define CONFIG_DIRECTORY "example_program_2"
+
+platform_window *window;
+qui_widget* ui;
+
+void update_render_ui2(platform_window* window)
+{
+ qui_update(window, ui);
+ qui_render(window, ui);
+}
+
+void create_ui() {
+ ui = qui_setup();
+
+ qui_widget* layout = qui_create_vertical_layout(ui);
+ {
+ qui_widget* toolbar = qui_create_toolbar(layout);
+ {
+ qui_widget* toolbar_file = qui_create_toolbar_item(toolbar, "File");
+ {
+ qui_widget* sub1 = qui_create_toolbar_item_option(toolbar_file, "Open File");
+ {
+ qui_create_toolbar_item_option(toolbar_file, "Create File");
+ qui_create_toolbar_item_option(toolbar_file, "Find File");
+ qui_create_toolbar_item_option(toolbar_file, "A Very Very Very Long Option");
+
+ qui_widget* sub2 = qui_create_toolbar_item_option(sub1, "Sub menu");
+ {
+ qui_create_toolbar_item_option(sub2, "Sub menu 2");
+ qui_create_toolbar_item_option(sub2, "Sub menu 3");
+ }
+ }
+ }
+
+ qui_create_toolbar_item(toolbar, "Help");
+ }
+ toolbar = qui_create_toolbar(layout);
+ {
+
+ }
+
+ qui_create_button(layout, "Hello!");
+
+ qui_create_fixed_container(layout, 100);
+ qui_create_flex_container(layout, 1);
+ qui_create_flex_container(layout, 2);
+ qui_create_size_container(layout, TOP, 100);
+ }
+}
+
+int main(int argc, char **argv)
+{
+ platform_init(argc, argv, CONFIG_DIRECTORY);
+
+ window = platform_open_window("Hello!",
+ 700, 700, 1200, 900, 500, 500, update_render_ui2, 0);
+
+ create_ui();
+
+ while(platform_keep_running(window)) {
+ window->do_draw = true;
+ platform_handle_events();
+ }
+
+ settings_write_to_file();
+ platform_destroy();
+
+ return 0;
+} \ No newline at end of file