Files
SDL3CPlusPlus/src/controllers/render_controller.hpp

36 lines
855 B
C++

#pragma once
#include "../di/service_registry.hpp"
#include "../services/interfaces/i_logger.hpp"
#include <memory>
namespace sdl3cpp::controllers {
/**
* @brief Render controller.
*
* Coordinates the rendering pipeline across graphics, scene, GUI, and script services.
* Extracted from Sdl3App rendering logic.
*/
class RenderController {
public:
explicit RenderController(di::ServiceRegistry& registry);
~RenderController();
RenderController(const RenderController&) = delete;
RenderController& operator=(const RenderController&) = delete;
/**
* @brief Render a single frame.
*
* @param time Current time in seconds for animations
*/
void RenderFrame(float time);
private:
di::ServiceRegistry& registry_;
std::shared_ptr<services::ILogger> logger_;
};
} // namespace sdl3cpp::controllers