optimized and commented code

Signed-off-by: Peter Siegmund <developer@mars3142.org>
This commit is contained in:
2025-06-14 19:02:51 +02:00
parent 4aa3e2cbeb
commit 52a49363eb
10 changed files with 494 additions and 134 deletions

View File

@@ -2,13 +2,30 @@
#include "common/PSMenu.h"
/**
* MainMenu class - represents the main menu interface of the application
* Inherits from PSMenu to provide menu functionality
*/
class MainMenu final : public PSMenu
{
public:
/**
* Constructor - initializes the main menu with given options
* @param options Pointer to menu options configuration
*/
explicit MainMenu(menu_options_t *options);
private:
/**
* Handles button press events from the menu interface
* @param id Button identifier that was pressed
* @param button Type of button that was pressed
*/
void onButtonPressed(uint8_t id, ButtonType button) const;
/**
* Pointer to menu options configuration
* Stores the menu configuration passed during construction
*/
menu_options_t *m_options;
};

View File

@@ -3,13 +3,48 @@
#include "MenuOptions.h"
#include "common/Widget.h"
/**
* @brief SplashScreen class represents the initial screen shown when the application starts
*
* This class inherits from Widget and is responsible for displaying the splash screen
* that typically shows application branding, loading status, or initialization messages.
* It's marked as final to prevent further inheritance.
*/
class SplashScreen final : public Widget
{
public:
/**
* @brief Constructs a new SplashScreen object
*
* @param options Pointer to menu options configuration that controls
* the behavior and appearance of the splash screen
*/
explicit SplashScreen(menu_options_t *options);
/**
* @brief Updates the splash screen state and animations
*
* This method is called every frame to update the splash screen's
* internal state, handle timing, animations, or transitions.
*
* @param dt Delta time in milliseconds since the last update
*/
void update(uint64_t dt) override;
/**
* @brief Renders the splash screen to the display
*
* This method handles all the drawing operations for the splash screen,
* including background, logos, text, and any visual effects.
*/
void render() override;
private:
/**
* @brief Pointer to menu options configuration
*
* Stores the configuration options that control various aspects
* of the splash screen's behavior and appearance.
*/
menu_options_t *m_options;
};
};