5#ifndef XDGICONPROXYENGINE_H
6#define XDGICONPROXYENGINE_H
8#include <dtkgui_global.h>
11#if XDG_ICON_VERSION_MAR >= 3
16namespace DEEPIN_XDG_THEME {
22typedef QMap<PaletteType, QString> PALETTE_MAP;
26class QIconLoaderEngineEntry;
27class XdgIconLoaderEngine;
30#if (XDG_ICON_VERSION_MAR >= 3)
31class Q_DECL_HIDDEN XdgIconProxyEngine :
public QIconEngine
34 XdgIconProxyEngine(XdgIconLoaderEngine *proxy);
35 virtual ~XdgIconProxyEngine()
override;
37 static quint64 entryCacheKey(
const ScalableEntry *color_entry,
const QIcon::Mode mode,
const QIcon::State state);
39 QPixmap followColorPixmap(ScalableEntry *color_entry,
const QSize &size, QIcon::Mode mode, QIcon::State state);
41 QPixmap pixmapByEntry(QIconLoaderEngineEntry *entry,
const QSize &size, QIcon::Mode mode, QIcon::State state);
42 void paint(QPainter *painter,
const QRect &rect, QIcon::Mode mode, QIcon::State state)
override;
43 QPixmap pixmap(
const QSize &size, QIcon::Mode mode, QIcon::State state)
override;
44 void addPixmap(
const QPixmap &pixmap, QIcon::Mode mode, QIcon::State state)
override;
45 void addFile(
const QString &fileName,
const QSize &size, QIcon::Mode mode, QIcon::State state)
override;
46 QString key()
const override;
47 QSize actualSize(
const QSize &size, QIcon::Mode mode, QIcon::State state)
override;
48 QIconEngine *clone()
const override;
49 bool read(QDataStream &in)
override;
50 bool write(QDataStream &out)
const override;
51 void virtual_hook(
int id,
void *data)
override;
54 XdgIconLoaderEngine *engine;
55 QHash<quint64, DEEPIN_XDG_THEME::PALETTE_MAP> entryToColorScheme;