From fee6c2364e8d22c41b53db90ace721cbe945f0af Mon Sep 17 00:00:00 2001 From: Aldrik Ramaekers Date: Mon, 22 Jun 2020 17:40:30 +0200 Subject: cpu rendering --- src/mo_edit.c | 52 ++++++++++++++++------------------------------------ 1 file changed, 16 insertions(+), 36 deletions(-) (limited to 'src/mo_edit.c') diff --git a/src/mo_edit.c b/src/mo_edit.c index c8d5576..78f57a6 100644 --- a/src/mo_edit.c +++ b/src/mo_edit.c @@ -5,7 +5,10 @@ */ #include "config.h" -#include "project_base.h" +#include "asset_definitions.h" +#include "../../project-base/src/project_base.h" + +// TODO(Aldrik): get rid if unnecessary draw calls (especially lists) s32 global_language_id = 1; char project_path[MAX_INPUT_LENGTH]; @@ -64,7 +67,6 @@ submenu_state submenu_recent_projects; image *set_img; image *add_img; image *list_img; -image *exclaim_img; image *delete_img; image *logo_small_img; @@ -74,25 +76,15 @@ font *font_mini; static void load_assets() { - list_img = assets_load_image(_binary____data_imgs_list_png_start, - _binary____data_imgs_list_png_end, false); - exclaim_img = assets_load_image(_binary____data_imgs_exclaim_png_start, - _binary____data_imgs_exclaim_png_end, false); - logo_small_img = assets_load_image(_binary____data_imgs_logo_64_png_start, - _binary____data_imgs_logo_64_png_end, true); - delete_img = assets_load_image(_binary____data_imgs_delete_png_start, - _binary____data_imgs_delete_png_end, false); - add_img = assets_load_image(_binary____data_imgs_add_png_start, - _binary____data_imgs_add_png_end, false); - set_img = assets_load_image(_binary____data_imgs_set_png_start, - _binary____data_imgs_set_png_end, false); + list_img = load_bitmap(list_bmp); + logo_small_img = load_bitmap(logo_64_bmp); + delete_img = load_bitmap(delete_bmp); + add_img = load_bitmap(add_bmp); + set_img = load_bitmap(set_bmp); - font_medium = assets_load_font(_binary____data_fonts_mono_ttf_start, - _binary____data_fonts_mono_ttf_end, 18); - font_small = assets_load_font(_binary____data_fonts_mono_ttf_start, - _binary____data_fonts_mono_ttf_end, 15); - font_mini = assets_load_font(_binary____data_fonts_mono_ttf_start, - _binary____data_fonts_mono_ttf_end, 12); + font_medium = load_font(mono_ttf, 18); + font_small = load_font(mono_ttf, 15); + font_mini = load_font(mono_ttf, 12); } bool term_has_missing_translations(term *t) @@ -483,6 +475,7 @@ int main(int argc, char **argv) window_w = 800; window_h = 600; } + global_use_gpu = settings_config_get_number(&config, "USE_GPU"); platform_window window = platform_open_window("mo-edit", window_w, window_h, 0, 0, 800, 600); main_window = &window; @@ -532,20 +525,8 @@ int main(int argc, char **argv) platform_set_cursor(&window, CURSOR_DEFAULT); settings_page_update_render(); - platform_window_make_current(&window); - - static bool icon_loaded = false; - if (!icon_loaded && logo_small_img->loaded) - { - icon_loaded = true; - platform_set_icon(&window, logo_small_img); - } - - if (global_asset_collection.queue.queue.length == 0 && !global_asset_collection.done_loading_assets) - { - global_asset_collection.done_loading_assets = true; - } + platform_set_icon(&window, logo_small_img); global_ui_context.layout.active_window = &window; global_ui_context.keyboard = &keyboard; @@ -561,7 +542,7 @@ int main(int argc, char **argv) { window.do_draw = false; - render_clear(); + render_clear(&window); camera_apply_transformations(&window, &camera); global_ui_context.layout.width = global_ui_context.layout.active_window->width; @@ -712,8 +693,6 @@ int main(int argc, char **argv) } ui_push_tooltip(localize("tooltip_delete_term")); - //ui_push_image(exclaim_img, 14, 14, 1, rgb(255,255,255)); - if (i == current_project->selected_term_index) { ui_push_rect(10, global_ui_context.style.textbox_active_border); @@ -1024,6 +1003,7 @@ int main(int argc, char **argv) vec2 win_size = platform_get_window_size(&window); settings_config_set_number(&config, "WINDOW_WIDTH", win_size.x); settings_config_set_number(&config, "WINDOW_HEIGHT", win_size.y); + settings_config_set_number(&config, "USE_GPU", global_settings_page.use_gpu); { char *recent_project_list_buffer = mem_alloc(recent_projects_list.length*MAX_INPUT_LENGTH); -- cgit v1.2.3-70-g09d2