/
limb
/
catedit-aurora
Обзор
Документация
Войти
/
limb
/
catedit-aurora
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/processingworker.h
67 строк
2 KB
Артемий
add: new filters
09 июл 2026, 22:25
09 июл 2026, 22:25
882783f
Код
Авторство
О чём код?
#ifndef PROCESSINGWORKER_H #define PROCESSINGWORKER_H #include <QImage> #include <QObject> #include <QString> #include <QVector> #include <atomic> class ProcessingWorker : public QObject { Q_OBJECT public slots: void importImage(const QString &filePath); void removeBackground(); void replaceBackgroundColor(); void replaceBackgroundWhite(); void blurBackground(); void aiStyle(); void enhance(); void blackWhite(); void sepia(); void blur(); void sharpen(); void edges(); void cartoon(); void details(); void vignette(); void invert(); void adjust(int brightness, int contrast, int saturation); void adjustLive(int brightness, int contrast, int saturation); void commitAdjustment(); void undo(); void reset(); void exportResult(); void cancel(); signals: void stateReady(const QImage &original, const QImage ¤t, bool canUndo, const QString &statusText, const QString &errorText); private: enum class BackgroundAction { Green, Color, White, Blur }; bool ensureImage(); bool isCancellationRequested() const; void resetCancellation(); void applyBackground(BackgroundAction action); void pushHistory(); void finishAdjustmentSession(); void emitState(const QString &statusText, const QString &errorText = QString()); QImage m_original; QImage m_current; QImage m_adjustmentBase; QVector<QImage> m_history; std::atomic_bool m_cancelRequested {false}; bool m_adjustmentActive = false; }; #endif // PROCESSINGWORKER_H