From d66f4ca0f37d585a86145c0a27e79e89c3a815c8 Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Sun, 31 Aug 2025 14:34:22 +1000 Subject: plugin/cutils: add getAverageLuminance Fixes stutters in wallpaper list Also fix crash when saveItem target doesn't have a window --- plugin/src/Caelestia/cutils.hpp | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'plugin/src/Caelestia/cutils.hpp') diff --git a/plugin/src/Caelestia/cutils.hpp b/plugin/src/Caelestia/cutils.hpp index 08fad41..048a2ff 100644 --- a/plugin/src/Caelestia/cutils.hpp +++ b/plugin/src/Caelestia/cutils.hpp @@ -20,6 +20,17 @@ public: Q_INVOKABLE bool copyFile(const QUrl& source, const QUrl& target) const; Q_INVOKABLE bool copyFile(const QUrl& source, const QUrl& target, bool overwrite) const; - Q_INVOKABLE void getDominantColour(QQuickItem* item, QJSValue callback) const; - Q_INVOKABLE void getDominantColour(QQuickItem* item, int width, int height, QJSValue callback) const; + Q_INVOKABLE void getDominantColour(QQuickItem* item, QJSValue callback); + Q_INVOKABLE void getDominantColour(QQuickItem* item, int rescaleSize, QJSValue callback); + Q_INVOKABLE void getDominantColour(const QString& path, QJSValue callback); + Q_INVOKABLE void getDominantColour(const QString& path, int rescaleSize, QJSValue callback); + + Q_INVOKABLE void getAverageLuminance(QQuickItem* item, QJSValue callback); + Q_INVOKABLE void getAverageLuminance(QQuickItem* item, int rescaleSize, QJSValue callback); + Q_INVOKABLE void getAverageLuminance(const QString& path, QJSValue callback); + Q_INVOKABLE void getAverageLuminance(const QString& path, int rescaleSize, QJSValue callback); + +private: + QColor findDominantColour(const QImage& image, int rescaleSize) const; + qreal findAverageLuminance(const QImage& image, int rescaleSize) const; }; -- cgit v1.2.3-freya