ImVec4 startColor = ImVec4(1.0f, 0.0f, 0.0f, 1.0f); // Начальный цвет (красный)
ImVec4 endColor = ImVec4(0.0f, 1.0f, 0.0f, 1.0f); // Конечный цвет (зеленый)
float animDuration = 1.0f; // Длительность анимации (в секундах)
float t = fmodf(ImGui::GetTime(), animDuration) / animDuration; // Вычисляем прошедшее время в пределах длительности анимации
ImVec4 currentColor = ImVec4(
startColor.x + (endColor.x - startColor.x) * t, // Красный цвет
startColor.y + (endColor.y - startColor.y) * t, // Зеленый цвет
startColor.z + (endColor.z - startColor.z) * t, // Синий цвет
1.0f // Альфа-канал
);
ImGui::PushStyleColor(ImGuiCol_Border, currentColor); // Устанавливаем текущий цвет границы
ImGui::Begin("Animated Border"); // Создаем окно с анимированной границей
// Ваш код отображения элементов в окне
ImGui::End();
ImGui::PopStyleColor(); // Сбрасываем цвет границы