#include "static_theme.hpp" StaticTheme::StaticTheme(const char* name_en, const char* name_es, int text_r, int text_g, int text_b, int notif_bg_r, int notif_bg_g, int notif_bg_b, float bg_top_r, float bg_top_g, float bg_top_b, float bg_bottom_r, float bg_bottom_g, float bg_bottom_b, std::vector ball_colors) : name_en_(name_en), name_es_(name_es), text_r_(text_r), text_g_(text_g), text_b_(text_b), notif_bg_r_(notif_bg_r), notif_bg_g_(notif_bg_g), notif_bg_b_(notif_bg_b), bg_top_r_(bg_top_r), bg_top_g_(bg_top_g), bg_top_b_(bg_top_b), bg_bottom_r_(bg_bottom_r), bg_bottom_g_(bg_bottom_g), bg_bottom_b_(bg_bottom_b), ball_colors_(std::move(ball_colors)) { } Color StaticTheme::getBallColor(size_t ball_index, float progress) const { // Tema estático: siempre retorna color de paleta según índice // (progress se ignora aquí, pero será usado en PHASE 3 para LERP externo) if (ball_colors_.empty()) { return {255, 255, 255}; // Blanco por defecto si paleta vacía } return ball_colors_[ball_index % ball_colors_.size()]; } void StaticTheme::getBackgroundColors(float progress, float& tr, float& tg, float& tb, float& br, float& bg, float& bb) const { // Tema estático: siempre retorna colores de fondo fijos // (progress se ignora aquí, pero será usado en PHASE 3 para LERP externo) tr = bg_top_r_; tg = bg_top_g_; tb = bg_top_b_; br = bg_bottom_r_; bg = bg_bottom_g_; bb = bg_bottom_b_; }