diff options
| -rwxr-xr-x | build-linux.sh | 2 | ||||
| -rw-r--r-- | build-win.bat | 2 | ||||
| -rw-r--r-- | data/imgs/add.bmp | bin | 0 -> 922 bytes | |||
| -rw-r--r-- | data/imgs/delete.bmp | bin | 0 -> 922 bytes | |||
| -rw-r--r-- | data/imgs/en.bmp | bin | 0 -> 1738 bytes | |||
| -rw-r--r-- | data/imgs/en.png | bin | 1132 -> 0 bytes | |||
| -rw-r--r-- | data/imgs/exclaim.png | bin | 201 -> 0 bytes | |||
| -rw-r--r-- | data/imgs/list.bmp | bin | 0 -> 922 bytes | |||
| -rw-r--r-- | data/imgs/list.png | bin | 140 -> 0 bytes | |||
| -rw-r--r-- | data/imgs/logo_64.bmp | bin | 0 -> 16522 bytes | |||
| -rw-r--r-- | data/imgs/logo_64.png | bin | 1087 -> 0 bytes | |||
| -rw-r--r-- | data/imgs/nl.bmp | bin | 0 -> 1738 bytes | |||
| -rw-r--r-- | data/imgs/nl.png | bin | 509 -> 0 bytes | |||
| -rw-r--r-- | data/imgs/png/add.png (renamed from data/imgs/add.png) | bin | 142 -> 142 bytes | |||
| -rw-r--r-- | data/imgs/png/delete.png (renamed from data/imgs/delete.png) | bin | 451 -> 451 bytes | |||
| -rw-r--r-- | data/imgs/png/set.png (renamed from data/imgs/set.png) | bin | 353 -> 353 bytes | |||
| -rw-r--r-- | data/imgs/set.bmp | bin | 0 -> 922 bytes | |||
| -rw-r--r-- | data/translations/en-English.mo | bin | 2915 -> 2947 bytes | |||
| -rw-r--r-- | data/translations/nl-Dutch.mo | bin | 3104 -> 3140 bytes | |||
| -rw-r--r-- | src/asset_definitions.h | 61 | ||||
| -rw-r--r-- | src/config.h | 10 | ||||
| -rw-r--r-- | src/mo_edit.c | 52 | ||||
| -rw-r--r-- | src/settings.c | 36 | ||||
| -rw-r--r-- | src/settings.h | 2 |
24 files changed, 82 insertions, 83 deletions
diff --git a/build-linux.sh b/build-linux.sh index 545a940..4acca7a 100755 --- a/build-linux.sh +++ b/build-linux.sh @@ -34,7 +34,7 @@ rm -rf bin mkdir bin cd src -ld -r -b binary -o ../bin/data.o ../data/imgs/en.png ../data/imgs/nl.png ../data/imgs/logo_64.png ../data/fonts/mono.ttf ../data/translations/en-English.mo ../data/translations/nl-Dutch.mo ../data/imgs/list.png ../data/imgs/delete.png ../data/imgs/exclaim.png ../data/imgs/add.png ../data/imgs/set.png +ld -r -b binary -o ../bin/data.o ../data/imgs/en.bmp ../data/imgs/nl.bmp ../data/imgs/logo_64.bmp ../data/fonts/mono.ttf ../data/translations/en-English.mo ../data/translations/nl-Dutch.mo ../data/imgs/list.bmp ../data/imgs/delete.bmp ../data/imgs/add.bmp ../data/imgs/set.bmp gcc -Wall -g -m64 -DMODE_DEVELOPER -Wno-unused-label -rdynamic -Wno-unused-variable mo_edit.c ../bin/data.o -o ../bin/mo-edit -lX11 -lGL -lGLU -lXrandr -lm -lpthread -ldl diff --git a/build-win.bat b/build-win.bat index 854a2c9..ca5a272 100644 --- a/build-win.bat +++ b/build-win.bat @@ -5,7 +5,7 @@ windres misc/icon.rc -O coff -o misc/icon.res DEL /S /Q bin cd src -ld -r -b binary -o ../bin/data.o ../data/imgs/en.png ../data/imgs/nl.png ../data/imgs/logo_64.png ../data/fonts/mono.ttf ../data/translations/en-English.mo ../data/translations/nl-Dutch.mo ../data/imgs/list.png ../data/imgs/delete.png ../data/imgs/exclaim.png ../data/imgs/add.png ../data/imgs/set.png +ld -r -b binary -o ../bin/data.o ../data/imgs/en.bmp ../data/imgs/nl.bmp ../data/imgs/logo_64.bmp ../data/fonts/mono.ttf ../data/translations/en-English.mo ../data/translations/nl-Dutch.mo ../data/imgs/list.bmp ../data/imgs/delete.bmp ../data/imgs/add.bmp ../data/imgs/set.bmp if "%1"=="-w" (SET defs=-DMODE_DEVELOPER -DMODE_GDBDEBUG) else (SET defs=-DMODE_DEVELOPER) diff --git a/data/imgs/add.bmp b/data/imgs/add.bmp Binary files differnew file mode 100644 index 0000000..ba60f25 --- /dev/null +++ b/data/imgs/add.bmp diff --git a/data/imgs/delete.bmp b/data/imgs/delete.bmp Binary files differnew file mode 100644 index 0000000..aba6bd2 --- /dev/null +++ b/data/imgs/delete.bmp diff --git a/data/imgs/en.bmp b/data/imgs/en.bmp Binary files differnew file mode 100644 index 0000000..65350c5 --- /dev/null +++ b/data/imgs/en.bmp diff --git a/data/imgs/en.png b/data/imgs/en.png Binary files differdeleted file mode 100644 index 02fa2a1..0000000 --- a/data/imgs/en.png +++ /dev/null diff --git a/data/imgs/exclaim.png b/data/imgs/exclaim.png Binary files differdeleted file mode 100644 index 40cc4b6..0000000 --- a/data/imgs/exclaim.png +++ /dev/null diff --git a/data/imgs/list.bmp b/data/imgs/list.bmp Binary files differnew file mode 100644 index 0000000..0dcce5d --- /dev/null +++ b/data/imgs/list.bmp diff --git a/data/imgs/list.png b/data/imgs/list.png Binary files differdeleted file mode 100644 index 14c389d..0000000 --- a/data/imgs/list.png +++ /dev/null diff --git a/data/imgs/logo_64.bmp b/data/imgs/logo_64.bmp Binary files differnew file mode 100644 index 0000000..8773e22 --- /dev/null +++ b/data/imgs/logo_64.bmp diff --git a/data/imgs/logo_64.png b/data/imgs/logo_64.png Binary files differdeleted file mode 100644 index 70724ff..0000000 --- a/data/imgs/logo_64.png +++ /dev/null diff --git a/data/imgs/nl.bmp b/data/imgs/nl.bmp Binary files differnew file mode 100644 index 0000000..7425cab --- /dev/null +++ b/data/imgs/nl.bmp diff --git a/data/imgs/nl.png b/data/imgs/nl.png Binary files differdeleted file mode 100644 index 505b9ce..0000000 --- a/data/imgs/nl.png +++ /dev/null diff --git a/data/imgs/add.png b/data/imgs/png/add.png Binary files differindex 5539207..5539207 100644 --- a/data/imgs/add.png +++ b/data/imgs/png/add.png diff --git a/data/imgs/delete.png b/data/imgs/png/delete.png Binary files differindex fa0ab77..fa0ab77 100644 --- a/data/imgs/delete.png +++ b/data/imgs/png/delete.png diff --git a/data/imgs/set.png b/data/imgs/png/set.png Binary files differindex 79b4412..79b4412 100644 --- a/data/imgs/set.png +++ b/data/imgs/png/set.png diff --git a/data/imgs/set.bmp b/data/imgs/set.bmp Binary files differnew file mode 100644 index 0000000..0d189da --- /dev/null +++ b/data/imgs/set.bmp diff --git a/data/translations/en-English.mo b/data/translations/en-English.mo Binary files differindex cf260aa..e6c82e4 100644 --- a/data/translations/en-English.mo +++ b/data/translations/en-English.mo diff --git a/data/translations/nl-Dutch.mo b/data/translations/nl-Dutch.mo Binary files differindex 32bb9ca..8ec0f77 100644 --- a/data/translations/nl-Dutch.mo +++ b/data/translations/nl-Dutch.mo diff --git a/src/asset_definitions.h b/src/asset_definitions.h index 628ae38..a60eeec 100644 --- a/src/asset_definitions.h +++ b/src/asset_definitions.h @@ -1,32 +1,29 @@ -extern u8 _binary____data_imgs_en_png_start[]; -extern u8 _binary____data_imgs_en_png_end[]; - -extern u8 _binary____data_imgs_nl_png_start[]; -extern u8 _binary____data_imgs_nl_png_end[]; - -extern u8 _binary____data_imgs_logo_64_png_start[]; -extern u8 _binary____data_imgs_logo_64_png_end[]; - -extern u8 _binary____data_fonts_mono_ttf_start[]; -extern u8 _binary____data_fonts_mono_ttf_end[]; - -extern u8 _binary____data_translations_en_English_mo_start[]; -extern u8 _binary____data_translations_en_English_mo_end[]; - -extern u8 _binary____data_translations_nl_Dutch_mo_start[]; -extern u8 _binary____data_translations_nl_Dutch_mo_end[]; - -extern u8 _binary____data_imgs_list_png_start[]; -extern u8 _binary____data_imgs_list_png_end[]; - -extern u8 _binary____data_imgs_delete_png_start[]; -extern u8 _binary____data_imgs_delete_png_end[]; - -extern u8 _binary____data_imgs_exclaim_png_start[]; -extern u8 _binary____data_imgs_exclaim_png_end[]; - -extern u8 _binary____data_imgs_add_png_start[]; -extern u8 _binary____data_imgs_add_png_end[]; - -extern u8 _binary____data_imgs_set_png_start[]; -extern u8 _binary____data_imgs_set_png_end[];
\ No newline at end of file +extern unsigned char _binary____data_imgs_logo_64_bmp_start[];
+extern unsigned char _binary____data_imgs_logo_64_bmp_end[];
+
+extern unsigned char _binary____data_fonts_mono_ttf_start[];
+extern unsigned char _binary____data_fonts_mono_ttf_end[];
+
+extern unsigned char _binary____data_translations_en_English_mo_start[];
+extern unsigned char _binary____data_translations_en_English_mo_end[];
+
+extern unsigned char _binary____data_translations_nl_Dutch_mo_start[];
+extern unsigned char _binary____data_translations_nl_Dutch_mo_end[];
+
+extern unsigned char _binary____data_imgs_list_bmp_start[];
+extern unsigned char _binary____data_imgs_list_bmp_end[];
+
+extern unsigned char _binary____data_imgs_delete_bmp_start[];
+extern unsigned char _binary____data_imgs_delete_bmp_end[];
+
+extern unsigned char _binary____data_imgs_add_bmp_start[];
+extern unsigned char _binary____data_imgs_add_bmp_end[];
+
+extern unsigned char _binary____data_imgs_set_bmp_start[];
+extern unsigned char _binary____data_imgs_set_bmp_end[];
+
+extern unsigned char _binary____data_imgs_nl_bmp_start[];
+extern unsigned char _binary____data_imgs_nl_bmp_end[];
+
+extern unsigned char _binary____data_imgs_en_bmp_start[];
+extern unsigned char _binary____data_imgs_en_bmp_end[];
\ No newline at end of file diff --git a/src/config.h b/src/config.h index f0158cf..d7ee47f 100644 --- a/src/config.h +++ b/src/config.h @@ -8,9 +8,11 @@ #define INCLUDE_CONFIG #define TARGET_FRAMERATE (1000/24.0) -#define VERSION "1.0.2" +#define VERSION "1.0.3" + +#define CONFIG_DIRECTORY_LINUX "/.config/moedit" +#define CONFIG_DIRECTORY_WINDOWS "\\moedit" -#define SCROLL_SPEED 50 #define FILE_RESERVE_COUNT 500 #define ERROR_RESERVE_COUNT 10 #define MAX_ERROR_MESSAGE_LENGTH 120 @@ -20,8 +22,4 @@ #define UNSAVED_CHANGES_COLOR rgb(255, 102, 102) #define MISSING_TRANSLATION_COLOR rgb(255, 179, 102) -#define ASSET_IMAGE_COUNT 10 -#define ASSET_FONT_COUNT 10 -#define ASSET_QUEUE_COUNT 20 - #endif
\ No newline at end of file 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);
diff --git a/src/settings.c b/src/settings.c index 118dca7..79b1a95 100644 --- a/src/settings.c +++ b/src/settings.c @@ -9,11 +9,10 @@ void set_status_text_to_finished_search(); void settings_page_create() { + global_settings_page.use_gpu = global_use_gpu; global_settings_page.active = false; - global_settings_page.font_small = assets_load_font(_binary____data_fonts_mono_ttf_start, - _binary____data_fonts_mono_ttf_end, 16); - global_settings_page.logo_img = assets_load_image(_binary____data_imgs_logo_64_png_start, - _binary____data_imgs_logo_64_png_end, true); + global_settings_page.font_small = load_font(mono_ttf, 15); + global_settings_page.logo_img = load_bitmap(logo_64_bmp); global_settings_page.keyboard = keyboard_input_create(); global_settings_page.mouse = mouse_input_create(); @@ -24,6 +23,7 @@ void settings_page_create() global_settings_page.camera = cam; + global_settings_page.cb_use_gpu = ui_create_checkbox(global_use_gpu); global_settings_page.btn_close = ui_create_button(); global_settings_page.btn_save = ui_create_button(); global_settings_page.dropdown_language = ui_create_dropdown(); @@ -35,11 +35,24 @@ void settings_page_create() static void load_current_settings_into_ui() { - + global_settings_page.use_gpu = global_use_gpu; + global_settings_page.cb_use_gpu.state = global_settings_page.use_gpu; } void settings_page_update_render() { + if (global_settings_page.window.has_focus) + global_settings_page.window.do_draw = true; + + // switch to cpu/gpu + if (global_use_gpu != global_settings_page.use_gpu) + { + global_use_gpu = global_settings_page.use_gpu; + platform_setup_backbuffer(main_window); + platform_setup_renderer(); + assets_switch_render_method(); + } + if (global_settings_page.active) { platform_window_make_current(&global_settings_page.window); @@ -50,7 +63,7 @@ void settings_page_update_render() { global_settings_page.window.do_draw = false; - render_clear(); + render_clear(&global_settings_page.window); camera_apply_transformations(&global_settings_page.window, &global_settings_page.camera); @@ -99,6 +112,14 @@ void settings_page_update_render() ui_block_begin(LAYOUT_HORIZONTAL); { + if (ui_push_checkbox(&global_settings_page.cb_use_gpu, localize("use_gpu"))) + { + } + } + ui_block_end(); + + ui_block_begin(LAYOUT_HORIZONTAL); + { if (ui_push_hypertext_link(localize("copy_config_path"))) { char buffer[PATH_MAX]; @@ -122,6 +143,7 @@ void settings_page_update_render() if (ui_push_button(&global_settings_page.btn_close, localize("save"))) { global_settings_page.active = false; + global_settings_page.use_gpu = global_settings_page.cb_use_gpu.state; settings_page_hide(); return; } @@ -157,7 +179,7 @@ void settings_page_show() load_current_settings_into_ui(); global_settings_page.window = platform_open_window(localize("mo_edit_settings"), - 350, 220, 350, 220, 350, 220); + 350, 240, 350, 240, 350, 240); settings_window = &global_settings_page.window; diff --git a/src/settings.h b/src/settings.h index 3d399cf..38dcf9d 100644 --- a/src/settings.h +++ b/src/settings.h @@ -18,6 +18,7 @@ typedef struct t_settings_page font *font_small; image *logo_img; + checkbox_state cb_use_gpu; button_state btn_close; button_state btn_save; dropdown_state dropdown_language; @@ -27,6 +28,7 @@ typedef struct t_settings_page checkbox_state checkbox_parallelize_search; s32 selected_tab_index; + bool use_gpu; char *current_locale_id; } settings_page; |
