Files
z-bar-qt/Plugins/ZShell/Wallpaper/wallpapercache.hpp

34 lines
680 B
C++

#pragma once
#include <QByteArray>
#include <QByteArray>
#include <QImage>
#include <QSize>
#include <QString>
#include <QVariantMap>
#include <mutex>
namespace ZShell::wallpaper {
class WallpaperCache {
public:
void setDbPath(const QString& path);
[[nodiscard]] QString dbPath() const;
[[nodiscard]] QImage decodeImage(
const QString& path, const QSize& decodeSize) const;
[[nodiscard]] QByteArray posterBlob(const QString& path) const;
[[nodiscard]] QVariantMap cropsForPath(const QString& path) const;
private:
[[nodiscard]] QByteArray cachedBlob(const QString& path) const;
mutable std::mutex m_mtx;
QString m_dbPath;
};
} // namespace ZShell::wallpaper