1/* SPDX-FileCopyrightText: 2020 Noah Davis <noahadvs@gmail.com>
2 * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
3 */
4
5#ifndef KCOLORUTILSSINGLETON_H
6#define KCOLORUTILSSINGLETON_H
7
8#include <QColor>
9#include <QObject>
10#include <qqml.h>
11
12class KColorUtilsSingleton
13{
14 Q_GADGET
15public:
16 Q_INVOKABLE qreal hue(const QColor &color);
17 Q_INVOKABLE qreal chroma(const QColor &color);
18 Q_INVOKABLE qreal luma(const QColor &color);
19 Q_INVOKABLE QColor hcyColor(qreal hue, qreal chroma, qreal luma, qreal alpha = 1.0);
20 Q_INVOKABLE qreal contrastRatio(const QColor &color1, const QColor &color2);
21 Q_INVOKABLE QColor lighten(const QColor &color, qreal amount = 0.5, qreal chromaInverseGain = 1.0);
22 Q_INVOKABLE QColor darken(const QColor &color, qreal amount = 0.5, qreal chromaGain = 1.0);
23 Q_INVOKABLE QColor shade(const QColor &color, qreal lumaAmount, qreal chromaAmount = 0.0);
24 Q_INVOKABLE QColor tint(const QColor &base, const QColor &color, qreal amount = 0.3);
25 Q_INVOKABLE QColor mix(const QColor &color1, const QColor &color2, qreal bias = 0.5);
26};
27
28#endif // KCOLORUTILSSINGLETON_H
29

source code of kguiaddons/src/qml/kcolorutilssingleton.h