#include "frame_drawer.hpp" #include "../common/logger.hpp" namespace pipeline { bool FrameDrawer::init(const renderer::RendererConfig& config) { if (initialized_) { Logger::warning("FrameDrawer already initialized"); return true; } renderer_ = std::make_unique(); if (!renderer_->init(config)) { Logger::error("Failed to initialize renderer"); return false; } initialized_ = true; Logger::info("FrameDrawer initialized successfully"); return true; } bool FrameDrawer::processFrame(const cv::Mat& frame, const std::vector& results, const PerformanceMetrics& metrics) { if (!initialized_) { Logger::error("FrameDrawer not initialized"); return false; } if (frame.empty()) { Logger::error("Input frame is empty"); return false; } return renderer_->render(frame, results, metrics); } void FrameDrawer::cleanup() { if (initialized_) { renderer_->cleanup(); initialized_ = false; } } } // namespace pipeline