From b1e857cf1471d1871a9396696b22fa531da98249 Mon Sep 17 00:00:00 2001 From: Aldrik Ramaekers Date: Sat, 23 Nov 2024 22:33:43 +0100 Subject: add projbase to repo --- project-base/examples/example_im_ui.c | 119 ++++++++++++++++++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 project-base/examples/example_im_ui.c (limited to 'project-base/examples/example_im_ui.c') 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 + +#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 -- cgit v1.2.3-70-g09d2