Krita Source Code Documentation
Loading...
Searching...
No Matches
KoHistogramProducer.cpp
Go to the documentation of this file.
1
/*
2
* SPDX-FileCopyrightText: 2005 Bart Coppens <kde@bartcoppens.be>
3
*
4
* SPDX-License-Identifier: LGPL-2.1-or-later
5
*/
6
7
#include "
KoHistogramProducer.h
"
8
9
#include <QList>
10
#include <QGlobalStatic>
11
12
#include <
KoID.h
>
13
14
#include "
KoBasicHistogramProducers.h
"
15
16
#include "
KoColorSpace.h
"
17
18
Q_GLOBAL_STATIC
(
KoHistogramProducerFactoryRegistry
, s_instance)
19
20
KoHistogramProducerFactoryRegistry
::
KoHistogramProducerFactoryRegistry
()
21
{
22
}
23
24
KoHistogramProducerFactoryRegistry::~KoHistogramProducerFactoryRegistry
()
25
{
26
qDeleteAll(
values
());
27
}
28
29
KoHistogramProducerFactoryRegistry
*
KoHistogramProducerFactoryRegistry::instance
()
30
{
31
return
s_instance;
32
33
}
34
35
QList<QString>
KoHistogramProducerFactoryRegistry::keysCompatibleWith
(
const
KoColorSpace
* colorSpace,
bool
isStrict)
const
36
{
37
QList<QString>
list;
38
QList<float>
preferredList;
39
Q_FOREACH (
const
QString &
id
,
keys
()) {
40
KoHistogramProducerFactory
*f =
value
(
id
);
41
42
if
(f->isCompatibleWith(colorSpace, isStrict)) {
43
float
preferred = f->preferrednessLevelWith(colorSpace);
44
QList<float>::iterator
pit = preferredList.begin();
45
QList<float>::iterator
pend = preferredList.end();
46
QList<QString>::iterator
lit = list.begin();
47
48
while
(pit != pend && preferred <= *pit) {
49
++pit;
50
++lit;
51
}
52
53
list.insert(lit,
id
);
54
preferredList.insert(pit, preferred);
55
}
56
}
57
return
list;
58
}
Q_GLOBAL_STATIC
Q_GLOBAL_STATIC(KisStoragePluginRegistry, s_instance)
KoBasicHistogramProducers.h
KoColorSpace.h
KoHistogramProducer.h
KoID.h
KoColorSpace
Definition
KoColorSpace.h:78
KoGenericRegistry< KoHistogramProducerFactory * >::value
const KoHistogramProducerFactory * value(const QString &id) const
Definition
KoGenericRegistry.h:145
KoGenericRegistry< KoHistogramProducerFactory * >::values
QList< KoHistogramProducerFactory * > values() const
Definition
KoGenericRegistry.h:169
KoGenericRegistry< KoHistogramProducerFactory * >::keys
QList< QString > keys() const
Definition
KoGenericRegistry.h:159
KoHistogramProducerFactoryRegistry
Definition
KoHistogramProducer.h:118
KoHistogramProducerFactoryRegistry::keysCompatibleWith
QList< QString > keysCompatibleWith(const KoColorSpace *colorSpace, bool isStrict=false) const
returns a list, sorted by preference: higher preference comes first
Definition
KoHistogramProducer.cpp:35
KoHistogramProducerFactoryRegistry::~KoHistogramProducerFactoryRegistry
~KoHistogramProducerFactoryRegistry() override
Definition
KoHistogramProducer.cpp:24
KoHistogramProducerFactoryRegistry::instance
static KoHistogramProducerFactoryRegistry * instance()
Definition
KoHistogramProducer.cpp:29
KoHistogramProducerFactory
Definition
KoHistogramProducer.h:90
QList
Definition
KisQStringListFwd.h:16
libs
pigment
KoHistogramProducer.cpp
Generated at
2025-11-04 02:30:02+01:00
from
Krita
branch
master
, commit
c9dde2e79561a8aea4a7e8d9ac99c98a7bac9e52