digiKam
Loading...
Searching...
No Matches
dcolorchoosermode_p.h
Go to the documentation of this file.
1/* ============================================================
2 *
3 * This file is a part of digiKam project
4 * https://www.digikam.org
5 *
6 * Date : 2010-02-20
7 * Description : color chooser widgets
8 *
9 * SPDX-FileCopyrightText: 2010 by Christoph Feck <christoph at maxiom dot de>
10 * SPDX-FileCopyrightText: 2015-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
11 *
12 * SPDX-License-Identifier: GPL-2.0-or-later
13 *
14 * ============================================================ */
15
16#pragma once
17
18#include "dcolorchoosermode.h"
19
20// Qt includes
21
22#include <QtGlobal>
23
24class QColor;
25
26namespace Digikam
27{
28
32extern qreal getComponentValue(const QColor& color, DColorChooserMode chooserMode);
33extern void setComponentValue(QColor& color, DColorChooserMode chooserMode, qreal value);
34
38static inline int componentValueSteps(DColorChooserMode chooserMode)
39{
40 if (chooserMode == ChooserHue)
41 {
42 return 6;
43 }
44 else
45 {
46 return 1;
47 }
48}
49
53static inline DColorChooserMode chooserXMode(DColorChooserMode chooserMode)
54{
55 if (chooserMode >= ChooserRed)
56 {
57 return (chooserMode == ChooserRed ? ChooserGreen : ChooserRed);
58 }
59 else
60 {
61 return (chooserMode == ChooserHue ? ChooserSaturation : ChooserHue);
62 }
63}
64
68static inline DColorChooserMode chooserYMode(DColorChooserMode chooserMode)
69{
70 if (chooserMode >= ChooserRed)
71 {
72 return (chooserMode == ChooserBlue ? ChooserGreen : ChooserBlue);
73 }
74 else
75 {
76 return (chooserMode == ChooserValue ? ChooserSaturation : ChooserValue);
77 }
78}
79
80static inline int componentXSteps(DColorChooserMode chooserMode)
81{
82 return componentValueSteps(chooserXMode(chooserMode));
83}
84
85static inline int componentYSteps(DColorChooserMode chooserMode)
86{
87 return componentValueSteps(chooserYMode(chooserMode));
88}
89
90static inline qreal getComponentX(const QColor& color, DColorChooserMode chooserMode)
91{
92 return getComponentValue(color, chooserXMode(chooserMode));
93}
94
95static inline qreal getComponentY(const QColor& color, DColorChooserMode chooserMode)
96{
97 return getComponentValue(color, chooserYMode(chooserMode));
98}
99
100static inline void setComponentX(QColor& color, DColorChooserMode chooserMode, qreal x)
101{
102 setComponentValue(color, chooserXMode(chooserMode), x);
103}
104
105static inline void setComponentY(QColor& color, DColorChooserMode chooserMode, qreal y)
106{
107 setComponentValue(color, chooserYMode(chooserMode), y);
108}
109
110} // namespace Digikam
qulonglong value
Definition itemviewutilities.cpp:585
Definition datefolderview.cpp:34
DColorChooserMode
Definition dcolorchoosermode.h:22
@ ChooserGreen
Definition dcolorchoosermode.h:28
@ ChooserBlue
Definition dcolorchoosermode.h:29
@ ChooserRed
Definition dcolorchoosermode.h:27
@ ChooserHue
Definition dcolorchoosermode.h:24
@ ChooserSaturation
Definition dcolorchoosermode.h:25
@ ChooserValue
Definition dcolorchoosermode.h:26
void setComponentValue(QColor &color, DColorChooserMode chooserMode, qreal value)
Definition dcolorchoosermode.cpp:61
qreal getComponentValue(const QColor &color, DColorChooserMode chooserMode)
Definition dcolorchoosermode.cpp:25