1 | /* |
2 | SPDX-FileCopyrightText: 2013 Martin Klapetek <mklapetek@kde.org> |
3 | |
4 | SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL |
5 | */ |
6 | |
7 | #ifndef KICONUTILS_H |
8 | #define KICONUTILS_H |
9 | |
10 | #include <kguiaddons_export.h> |
11 | |
12 | #include <QIcon> |
13 | |
14 | /** |
15 | * @namespace KIconUtils |
16 | * Provides utility functions for icons. |
17 | */ |
18 | namespace KIconUtils |
19 | { |
20 | /** |
21 | * Adds the \a overlay over the \a icon in the specified \a position |
22 | * |
23 | * The \a overlay icon is scaled down approx. to 1/3 or 1/4 (depending on the icon size) |
24 | * and placed in one of the corners of the base icon. |
25 | */ |
26 | KGUIADDONS_EXPORT QIcon addOverlay(const QIcon &icon, const QIcon &overlay, Qt::Corner position); |
27 | |
28 | /** |
29 | * Adds \a overlays over the \a icon |
30 | * |
31 | * The \a overlays is a QHash of Qt::Corner and QIcon. The Qt::Corner value |
32 | * decides where the overlay icon will be painted, the QIcon value |
33 | * is the overlay icon to be painted. |
34 | * |
35 | * The overlay icon is scaled down to 1/3 or 1/4 (depending on the icon size) |
36 | * and placed in one of the corners of the base icon. |
37 | */ |
38 | KGUIADDONS_EXPORT QIcon addOverlays(const QIcon &icon, const QHash<Qt::Corner, QIcon> &overlays); |
39 | |
40 | /** |
41 | * Adds up to four overlays over the @p icon. |
42 | * |
43 | * The @p overlays is a QStringList of icon names (e.g. the emblems that are drawn on |
44 | * icons in Dolphin and KFileWidget, e.g. symlink, un-mounted device ...etc). |
45 | * |
46 | * Overlays are added in this order: |
47 | * - first icon is used to paint an overlay on the bottom-right corner |
48 | * - second icon on the bottom-left corner |
49 | * - third icon on the top-left corner |
50 | * - fourth icon on the top-right corner |
51 | * |
52 | * Each overlay icon is scaled down to 1/3 or 1/4 (depending on the icon size). |
53 | * |
54 | * @since 5.90 |
55 | */ |
56 | KGUIADDONS_EXPORT QIcon addOverlays(const QIcon &icon, const QStringList &overlays); |
57 | |
58 | /** |
59 | * Adds up to four overlays on the icon constructed from @p iconName. |
60 | * |
61 | * The @p overlays is a QStringList of icon names (e.g. the emblems that are drawn on |
62 | * icons in Dolphin and KFileWidget, e.g. symlink, un-mounted device ...etc). |
63 | * |
64 | * Overlays are added in this order: |
65 | * - first icon is used to paint an overlay on the bottom-right corner |
66 | * - second icon on the bottom-left corner |
67 | * - third icon on the top-left corner |
68 | * - fourth icon on the top-right corner |
69 | * |
70 | * Each overlay icon is scaled down to 1/3 or 1/4 (depending on the icon size). |
71 | * |
72 | * All @c QIcon objects are constructed using @c QIcon::fromTheme(). |
73 | * |
74 | * @since 5.82 |
75 | */ |
76 | KGUIADDONS_EXPORT QIcon addOverlays(const QString &iconName, const QStringList &overlays); |
77 | } |
78 | |
79 | #endif // KICONUTILS_H |
80 | |