5#ifndef XDGICONPROXYENGINE_H
6#define XDGICONPROXYENGINE_H
8#include <dtkgui_global.h>
11#if XDG_ICON_VERSION_MAR >= 3
13#include <private/xdgiconloader/xdgiconloader_p.h>
15#elif XDG_ICON_VERSION_MAR == 2
18#include "xdgiconenginecreator.h"
22class QIconLoaderEngineEntry;
26#if XDG_ICON_VERSION_MAR >= 3
27class Q_DECL_HIDDEN XdgIconProxyEngine :
public QIconEngine
30 XdgIconProxyEngine(XdgIconLoaderEngine *proxy);
31 virtual ~XdgIconProxyEngine()
override;
33 static quint64 entryCacheKey(
const ScalableEntry *color_entry,
const QIcon::Mode mode,
const QIcon::State state);
35 QPixmap followColorPixmap(ScalableEntry *color_entry,
const QSize &size, QIcon::Mode mode, QIcon::State state);
37 QPixmap pixmapByEntry(QIconLoaderEngineEntry *entry,
const QSize &size, QIcon::Mode mode, QIcon::State state);
38 void paint(QPainter *painter,
const QRect &rect, QIcon::Mode mode, QIcon::State state)
override;
39 QPixmap pixmap(
const QSize &size, QIcon::Mode mode, QIcon::State state)
override;
40 void addPixmap(
const QPixmap &pixmap, QIcon::Mode mode, QIcon::State state)
override;
41 void addFile(
const QString &fileName,
const QSize &size, QIcon::Mode mode, QIcon::State state)
override;
43 QSize actualSize(
const QSize &size, QIcon::Mode mode, QIcon::State state)
override;
44 QIconEngine *clone()
const override;
47 void virtual_hook(
int id,
void *data)
override;
50 XdgIconLoaderEngine *engine;