diff options
| author | Aldrik Ramaekers <aldrikboy@gmail.com> | 2024-11-23 22:33:43 +0100 |
|---|---|---|
| committer | Aldrik Ramaekers <aldrikboy@gmail.com> | 2024-11-23 22:33:43 +0100 |
| commit | b1e857cf1471d1871a9396696b22fa531da98249 (patch) | |
| tree | 3923008a8653057698cb339faf6dcfa92e18364b /project-base/examples | |
| parent | 106bb7fcadf637cec883648916cc8d19529d6199 (diff) | |
add projbase to repo
Diffstat (limited to 'project-base/examples')
| -rw-r--r-- | project-base/examples/en.mo | bin | 0 -> 153 bytes | |||
| -rw-r--r-- | project-base/examples/example_im_ui.c | 119 | ||||
| -rw-r--r-- | project-base/examples/example_window.c | 71 | ||||
| -rw-r--r-- | project-base/examples/logo_64.bmp | bin | 0 -> 16522 bytes | |||
| -rw-r--r-- | project-base/examples/logo_64.png | bin | 0 -> 1294 bytes | |||
| -rw-r--r-- | project-base/examples/mono.ttf | bin | 0 -> 313408 bytes |
6 files changed, 190 insertions, 0 deletions
diff --git a/project-base/examples/en.mo b/project-base/examples/en.mo Binary files differnew file mode 100644 index 0000000..06d4bdc --- /dev/null +++ b/project-base/examples/en.mo diff --git a/project-base/examples/example_im_ui.c b/project-base/examples/example_im_ui.c new file mode 100644 index 0000000..24ab47f --- /dev/null +++ b/project-base/examples/example_im_ui.c @@ -0,0 +1,119 @@ +#include <projectbase/project_base.h> + +#define CONFIG_DIRECTORY "example_program_1" + +extern unsigned char _binary_examples_en_mo_start[]; +extern unsigned char _binary_examples_en_mo_end[]; + +extern unsigned char _binary_examples_logo_64_bmp_start[]; +extern unsigned char _binary_examples_logo_64_bmp_end[]; + +extern unsigned char _binary_examples_logo_64_png_start[]; +extern unsigned char _binary_examples_logo_64_png_end[]; + +extern unsigned char _binary_examples_mono_ttf_start[]; +extern unsigned char _binary_examples_mono_ttf_end[]; + +void update_render_sub(platform_window* window) +{ + ui_begin(window); + { + ui_begin_menu_bar(); + { + if (ui_push_menu("File")) + { + if (ui_push_menu_item("Poop", "Ctrl + O")) + { + push_notification("Poop!"); + + char buffer[4000]; + platform_open_file_dialog(SAVE_FILE, buffer, 0, 0, "jpg"); + } + } + if (ui_push_menu("Menu")) + { + if (ui_push_menu_item("New Window", "Ctrl + O")) + { + + } + } + } + } + ui_end(); +} + +image* img; +image* img2; +image* img3; +image* img4; + +font* font_big; +font* font_very_big; + +void update_render_main(platform_window* window) +{ + ui_begin(window); + { + ui_begin_menu_bar(); + { + if (ui_push_menu("File")) + { + if (ui_push_menu_item("Poop", "Ctrl + O")) + { + push_notification("Poop!"); + + char buffer[4000]; + platform_open_file_dialog(SAVE_FILE, buffer, 0, 0, "jpg"); + } + } + if (ui_push_menu("Menu")) + { + if (ui_push_menu_item("New Window", "Ctrl + O")) + { + platform_window *s = platform_open_window(localize("window_title_sub"), 500, 500, 800, 600, 500, 500, update_render_sub, 0); + } + } + } + } + ui_end(); + + renderer->render_image(img, 0, 0, 50, 50); + renderer->render_image(img2, 0, 50, 50, 50); + renderer->render_image(img3, 0, 100, 50, 50); + renderer->render_image(img3, 0, 150, 50, 50); + + renderer->render_text(font_big, 120, 150, "BAZINGA!", rgb(255,100,100)); + renderer->render_text(font_very_big, 120, 180, "BIG BAZINGA!", rgb(100,255,100)); + +} + +int main(int argc, char **argv) +{ + platform_init(argc, argv, CONFIG_DIRECTORY); + + localization_load(_binary_examples_en_mo_start, + _binary_examples_en_mo_end, + 0,0, "en", "English"); + + localization_set_locale("en"); + + img = assets_load_bitmap(_binary_examples_logo_64_bmp_start, _binary_examples_logo_64_bmp_end); + img2 = assets_load_image(_binary_examples_logo_64_png_start, _binary_examples_logo_64_png_end); + img3 = assets_load_bitmap_from_file("logo_64.bmp"); + img4 = assets_load_image_from_file("logo_64.png"); + + font_big = assets_load_font(_binary_examples_mono_ttf_start, _binary_examples_mono_ttf_end, 36); + font_very_big = assets_load_font_from_file("mono.ttf", 48); + + platform_window *window = platform_open_window(localize("window_title_main"), + 500, 500, 800, 600, 500, 500, update_render_main, 0); + + while(platform_keep_running(window)) { + platform_handle_events(); + } + + settings_write_to_file(); + platform_destroy(); + + return 0; +}
\ No newline at end of file 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 diff --git a/project-base/examples/logo_64.bmp b/project-base/examples/logo_64.bmp Binary files differnew file mode 100644 index 0000000..4cc3488 --- /dev/null +++ b/project-base/examples/logo_64.bmp diff --git a/project-base/examples/logo_64.png b/project-base/examples/logo_64.png Binary files differnew file mode 100644 index 0000000..da886f9 --- /dev/null +++ b/project-base/examples/logo_64.png diff --git a/project-base/examples/mono.ttf b/project-base/examples/mono.ttf Binary files differnew file mode 100644 index 0000000..1a39bc7 --- /dev/null +++ b/project-base/examples/mono.ttf |
