diff options
author | dec05eba <dec05eba@protonmail.com> | 2025-05-18 01:23:42 +0200 |
---|---|---|
committer | dec05eba <dec05eba@protonmail.com> | 2025-05-18 01:23:42 +0200 |
commit | e8dc3859fee38f30707bf5e77fa7dca0a2e05453 (patch) | |
tree | d5490cc1c3233e3914ca9338ee2c5759d2f18dbb | |
parent | 5fe5830056e57fcefb5c87f3ad841495adb3b30f (diff) |
Improve quality of screenshot and settings icons, especially for smaller resolutions
-rw-r--r-- | TODO | 4 | ||||
-rw-r--r-- | images/screenshot.png | bin | 7276 -> 2020 bytes | |||
-rw-r--r-- | images/settings_extra_small.png | bin | 0 -> 959 bytes | |||
-rw-r--r-- | include/Theme.hpp | 1 | ||||
-rw-r--r-- | src/Overlay.cpp | 6 | ||||
-rw-r--r-- | src/Theme.cpp | 5 |
6 files changed, 12 insertions, 4 deletions
@@ -189,3 +189,7 @@ Make it possible to change controller hotkeys. Also read from /dev/input/eventN Add option to copy screenshot to clipboard. Does it work properly on Wayland compositors? Maybe need to wait until the application becomes Wayland native instead of XWayland. Show message that replay/streaming has to be restarted if recording settings are changed while replay/streaming is ongoing. + +Support vector graphics. Maybe support svg, rendering it to a texture for better performance. + +Support freetype for text rendering. Maybe load freetype as runtime (with dlopen) and use that when available and fallback to stb_freetype if not available. diff --git a/images/screenshot.png b/images/screenshot.png Binary files differindex e4e7dc7..d67acf6 100644 --- a/images/screenshot.png +++ b/images/screenshot.png diff --git a/images/settings_extra_small.png b/images/settings_extra_small.png Binary files differnew file mode 100644 index 0000000..71770fe --- /dev/null +++ b/images/settings_extra_small.png diff --git a/include/Theme.hpp b/include/Theme.hpp index 249ad3d..1390182 100644 --- a/include/Theme.hpp +++ b/include/Theme.hpp @@ -28,6 +28,7 @@ namespace gsr { mgl::Texture combobox_arrow_texture; mgl::Texture settings_texture; mgl::Texture settings_small_texture; + mgl::Texture settings_extra_small_texture; mgl::Texture folder_texture; mgl::Texture up_arrow_texture; mgl::Texture replay_button_texture; diff --git a/src/Overlay.cpp b/src/Overlay.cpp index 7ed0fee..80dcaad 100644 --- a/src/Overlay.cpp +++ b/src/Overlay.cpp @@ -1090,7 +1090,7 @@ namespace gsr { button->set_item_icon("save", &get_theme().save_texture); button->set_item_icon("save_1_min", &get_theme().save_texture); button->set_item_icon("save_10_min", &get_theme().save_texture); - button->set_item_icon("settings", &get_theme().settings_small_texture); + button->set_item_icon("settings", &get_theme().settings_extra_small_texture); button->on_click = [this](const std::string &id) { if(id == "settings") { auto replay_settings_page = std::make_unique<SettingsPage>(SettingsPage::Type::REPLAY, &gsr_info, config, &page_stack); @@ -1124,7 +1124,7 @@ namespace gsr { button->add_item("Settings", "settings"); button->set_item_icon("start", &get_theme().play_texture); button->set_item_icon("pause", &get_theme().pause_texture); - button->set_item_icon("settings", &get_theme().settings_small_texture); + button->set_item_icon("settings", &get_theme().settings_extra_small_texture); button->on_click = [this](const std::string &id) { if(id == "settings") { auto record_settings_page = std::make_unique<SettingsPage>(SettingsPage::Type::RECORD, &gsr_info, config, &page_stack); @@ -1149,7 +1149,7 @@ namespace gsr { button->add_item("Start", "start", config.streaming_config.start_stop_hotkey.to_string(false, false)); button->add_item("Settings", "settings"); button->set_item_icon("start", &get_theme().play_texture); - button->set_item_icon("settings", &get_theme().settings_small_texture); + button->set_item_icon("settings", &get_theme().settings_extra_small_texture); button->on_click = [this](const std::string &id) { if(id == "settings") { auto stream_settings_page = std::make_unique<SettingsPage>(SettingsPage::Type::STREAM, &gsr_info, config, &page_stack); diff --git a/src/Theme.cpp b/src/Theme.cpp index 6c384e3..a20c4da 100644 --- a/src/Theme.cpp +++ b/src/Theme.cpp @@ -69,7 +69,10 @@ namespace gsr { if(!theme->settings_texture.load_from_file((resources_path + "images/settings.png").c_str())) goto error; - if(!theme->settings_small_texture.load_from_file((resources_path + "images/settings_small.png").c_str())) + if(!theme->settings_small_texture.load_from_file((resources_path + "images/settings_small.png").c_str(), mgl::Texture::LoadOptions{false, false, MGL_TEXTURE_SCALE_LINEAR_MIPMAP})) + goto error; + + if(!theme->settings_extra_small_texture.load_from_file((resources_path + "images/settings_extra_small.png").c_str(), mgl::Texture::LoadOptions{false, false, MGL_TEXTURE_SCALE_LINEAR_MIPMAP})) goto error; if(!theme->folder_texture.load_from_file((resources_path + "images/folder.png").c_str())) |