From f5387759543488e58bdbea2f983e3269a9552ab0 Mon Sep 17 00:00:00 2001 From: scawful Date: Fri, 10 Oct 2025 12:02:33 -0400 Subject: [PATCH] refactor: Organize Canvas Utilities and BPP Format Management - Moved canvas utility functions into a dedicated `canvas_utils` module for better structure and maintainability. - Introduced a new `BppFormatUI` class for managing BPP format selection and conversion, enhancing the user interface for format management. - Updated CMake configuration to include new source and header files for the canvas utilities and BPP format UI. - Adjusted file paths in the project structure to reflect the new organization, ensuring proper integration across components. --- src/CMakeLists.txt | 4 ++-- src/app/gui/canvas.cc | 4 ++-- src/app/gui/canvas.h | 4 ++-- src/app/gui/{ => canvas}/bpp_format_ui.cc | 2 +- src/app/gui/{ => canvas}/bpp_format_ui.h | 0 src/app/gui/canvas/canvas.cmake | 7 +++++++ src/app/gui/{ => canvas}/canvas_utils.cc | 0 src/app/gui/{ => canvas}/canvas_utils.h | 0 src/app/gui/gui_library.cmake | 4 ++-- 9 files changed, 16 insertions(+), 9 deletions(-) rename src/app/gui/{ => canvas}/bpp_format_ui.cc (99%) rename src/app/gui/{ => canvas}/bpp_format_ui.h (100%) rename src/app/gui/{ => canvas}/canvas_utils.cc (100%) rename src/app/gui/{ => canvas}/canvas_utils.h (100%) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index f0ab000e..bf65fefc 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -985,8 +985,8 @@ source_group("Application\\Graphics" FILES # GUI System source_group("Application\\GUI" FILES - app/gui/canvas_utils.cc - app/gui/canvas_utils.h + app/gui/canvas/canvas_utils.cc + app/gui/canvas/canvas_utils.h app/gui/canvas.cc app/gui/canvas.h app/gui/color.cc diff --git a/src/app/gui/canvas.cc b/src/app/gui/canvas.cc index bf011459..0d4d24cc 100644 --- a/src/app/gui/canvas.cc +++ b/src/app/gui/canvas.cc @@ -5,9 +5,9 @@ #include "app/gfx/bpp_format_manager.h" #include "app/gfx/bitmap.h" #include "app/gfx/performance/performance_profiler.h" -#include "app/gui/canvas_utils.h" #include "app/gui/style.h" -#include "app/gui/canvas/canvas_automation_api.h" +#include "canvas/canvas_utils.h" +#include "canvas/canvas_automation_api.h" #include "imgui/imgui.h" namespace yaze::gui { diff --git a/src/app/gui/canvas.h b/src/app/gui/canvas.h index 6546db92..1b9304f3 100644 --- a/src/app/gui/canvas.h +++ b/src/app/gui/canvas.h @@ -11,10 +11,10 @@ #include "app/gfx/bitmap.h" #include "app/rom.h" -#include "app/gui/canvas_utils.h" +#include "canvas/canvas_utils.h" #include "app/gui/widgets/palette_widget.h" #include "app/gfx/bpp_format_manager.h" -#include "app/gui/bpp_format_ui.h" +#include "canvas/bpp_format_ui.h" #include "app/gui/canvas/canvas_modals.h" #include "app/gui/canvas/canvas_context_menu.h" #include "app/gui/canvas/canvas_usage_tracker.h" diff --git a/src/app/gui/bpp_format_ui.cc b/src/app/gui/canvas/bpp_format_ui.cc similarity index 99% rename from src/app/gui/bpp_format_ui.cc rename to src/app/gui/canvas/bpp_format_ui.cc index a19b3ded..963cf816 100644 --- a/src/app/gui/bpp_format_ui.cc +++ b/src/app/gui/canvas/bpp_format_ui.cc @@ -1,4 +1,4 @@ -#include "app/gui/bpp_format_ui.h" +#include "bpp_format_ui.h" #include #include diff --git a/src/app/gui/bpp_format_ui.h b/src/app/gui/canvas/bpp_format_ui.h similarity index 100% rename from src/app/gui/bpp_format_ui.h rename to src/app/gui/canvas/bpp_format_ui.h diff --git a/src/app/gui/canvas/canvas.cmake b/src/app/gui/canvas/canvas.cmake index 868811da..147b135c 100644 --- a/src/app/gui/canvas/canvas.cmake +++ b/src/app/gui/canvas/canvas.cmake @@ -3,19 +3,23 @@ # Canvas core components set(CANVAS_SOURCES + bpp_format_ui.cc canvas_modals.cc canvas_context_menu.cc canvas_usage_tracker.cc canvas_performance_integration.cc canvas_interaction_handler.cc + canvas_utils.cc ) set(CANVAS_HEADERS + bpp_format_ui.h canvas_modals.h canvas_context_menu.h canvas_usage_tracker.h canvas_performance_integration.h canvas_interaction_handler.h + canvas_utils.h ) # Create canvas library @@ -43,6 +47,9 @@ target_include_directories(yaze_canvas PUBLIC target_link_libraries(yaze_canvas PUBLIC yaze_gfx yaze_gui_common + absl::status + absl::statusor + absl::strings imgui SDL2::SDL2 ) diff --git a/src/app/gui/canvas_utils.cc b/src/app/gui/canvas/canvas_utils.cc similarity index 100% rename from src/app/gui/canvas_utils.cc rename to src/app/gui/canvas/canvas_utils.cc diff --git a/src/app/gui/canvas_utils.h b/src/app/gui/canvas/canvas_utils.h similarity index 100% rename from src/app/gui/canvas_utils.h rename to src/app/gui/canvas/canvas_utils.h diff --git a/src/app/gui/gui_library.cmake b/src/app/gui/gui_library.cmake index c87944b5..31319328 100644 --- a/src/app/gui/gui_library.cmake +++ b/src/app/gui/gui_library.cmake @@ -6,14 +6,14 @@ set( app/gui/widgets/dungeon_object_emulator_preview.cc app/gui/widgets/collaboration_panel.cc app/gui/canvas.cc - app/gui/canvas_utils.cc + app/gui/canvas/canvas_utils.cc app/gui/widgets/palette_widget.cc app/gui/widgets/palette_editor_widget.cc app/gui/input.cc app/gui/style.cc app/gui/color.cc app/gui/theme_manager.cc - app/gui/bpp_format_ui.cc + app/gui/canvas/bpp_format_ui.cc app/gui/widgets/widget_id_registry.cc app/gui/widgets/widget_auto_register.cc app/gui/widgets/widget_state_capture.cc