This commit is contained in:
2026-06-17 13:31:56 +03:00
parent d0e306118f
commit eea3c039eb
4 changed files with 1 additions and 14 deletions
-8
View File
@@ -7,41 +7,34 @@ enum class ThemeType {
};
struct ColorPalette {
// Основные цвета фона
sf::Color windowBackground;
sf::Color panelBackground;
sf::Color bottomPanelBackground;
sf::Color overlayBackground;
// Цвета текста
sf::Color textPrimary;
sf::Color textSecondary;
sf::Color textTertiary;
sf::Color textAccent;
// Цвета для состояний элементов массива
sf::Color stateNormalLow; // Нижняя часть градиента для обычных элементов
sf::Color stateNormalHigh; // Верхняя часть градиента для обычных элементов
sf::Color stateCompare; // Цвет для сравниваемых элементов
sf::Color stateSwap; // Цвет для переставляемых элементов
sf::Color stateSorted; // Цвет для отсортированных элементов
// Цвета UI элементов
sf::Color separator;
sf::Color histogramLow; // Нижняя часть градиента гистограммы
sf::Color histogramHigh; // Верхняя часть градиента гистограммы
// Цвета для ProgressMap
sf::Color progressMapNormal;
// Цвета для оверлеев
sf::Color overlayTitle;
sf::Color overlaySubtitle;
sf::Color overlaySection;
sf::Color overlayBody;
sf::Color overlayFooter;
// Цвета для истории
sf::Color historyTableHeader;
sf::Color historyRowEven;
sf::Color historyRowOdd;
@@ -50,7 +43,6 @@ struct ColorPalette {
sf::Color historySpeedFastest;
sf::Color historySpeedSlow;
// Цвета статусов
sf::Color statusFinished;
sf::Color statusPlaying;
sf::Color statusPaused;
-2
View File
@@ -12,13 +12,11 @@ Theme::Theme() : currentTheme_(ThemeType::DARK) {
}
void Theme::initDarkTheme() {
// Основные цвета фона
darkPalette_.windowBackground = sf::Color(10, 12, 20);
darkPalette_.panelBackground = sf::Color(0, 0, 0, 180);
darkPalette_.bottomPanelBackground = sf::Color(12, 15, 25);
darkPalette_.overlayBackground = sf::Color(8, 10, 18, 230);
// Цвета текста
darkPalette_.textPrimary = sf::Color::White;
darkPalette_.textSecondary = sf::Color(220, 220, 220);
darkPalette_.textTertiary = sf::Color(160, 160, 160);
-1
View File
@@ -104,7 +104,6 @@ void UI::draw(sf::RenderWindow& window) {
const ColorPalette& palette = Theme::getInstance().getPalette();
// Обновляем цвета текста и фона при каждой отрисовке (на случай смены темы)
algorithmText_.setFillColor(palette.textPrimary);
timeComplexityText_.setFillColor(palette.textTertiary);
spaceComplexityText_.setFillColor(palette.textTertiary);
+1 -3
View File
@@ -27,7 +27,7 @@ void HeapSorter::step(Array& array) {
}
heapifyIndex_ = buildIndex_;
phase_ = Phase::HEAPIFY_DOWN;
needSwap_ = false; // Используем как флаг, что мы в контексте BUILD
needSwap_ = false;
}
else if (phase_ == Phase::HEAPIFY_DOWN || phase_ == Phase::EXTRACT_HEAPIFY) {
leftChild_ = 2 * heapifyIndex_ + 1;
@@ -63,9 +63,7 @@ void HeapSorter::step(Array& array) {
array.incrementSwaps();
heapifyIndex_ = largest_;
// Остаемся в текущей фазе, чтобы продолжить просеивание вниз
} else {
// Элемент на своем месте, просеивание закончено
if (phase_ == Phase::HEAPIFY_DOWN) {
buildIndex_--;
phase_ = Phase::BUILDING_HEAP;