Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_multichannel_utils.h
Go to the documentation of this file.
1/*
2 * This file is part of Krita
3 *
4 * SPDX-FileCopyrightText: 2004 Cyrille Berger <cberger@cberger.net>
5 * SPDX-FileCopyrightText: 2021 Deif Lou <giniba@gmail.net>
6 *
7 * SPDX-License-Identifier: GPL-2.0-or-later
8*/
9
10#ifndef KIS_MULTICHANNEL_FILTER_UTILS
11#define KIS_MULTICHANNEL_FILTER_UTILS
12
13#include <QtGlobal>
14#include <QVector>
15#include <QList>
16
18
19class KoColorSpace;
21
22namespace KisMultiChannelUtils {
23
30 int maxChannels = -1,
31 bool supportsLightness = true,
32 bool supportsHue = true,
33 bool supportSaturation = true);
34
35int findChannel(const QVector<VirtualChannelInfo> &virtualChannels, const VirtualChannelInfo::Type &channelType);
36
45 const QVector<QVector<quint16>> &transfers,
46 const QList<bool> &transferIsIdentity);
47
48}
49
50#endif
KoColorTransformation * createPerChannelTransformationFromTransfers(const KoColorSpace *cs, const QVector< QVector< quint16 > > &transfers, const QList< bool > &transferIsIdentity)
Create a composed per channel transformation object from the set of given transfers.
QVector< VirtualChannelInfo > getVirtualChannels(const KoColorSpace *cs, int maxChannels, bool supportsLightness, bool supportsHue, bool supportsSaturation)
int findChannel(const QVector< VirtualChannelInfo > &virtualChannels, const VirtualChannelInfo::Type &channelType)