Krita Source Code Documentation
Loading...
Searching...
No Matches
KisTextureMaskInfo.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2017 Dmitry Kazakov <dimula73@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7#ifndef KISTEXTUREMASKINFO_H
8#define KISTEXTUREMASKINFO_H
9
10
11#include <kis_paint_device.h>
12#include <QSharedPointer>
13#include <QMutex>
14
15
16#include <boost/operators.hpp>
17
18#include <KoPattern.h>
19
22
23class KisTextureMaskInfo : public boost::equality_comparable<KisTextureMaskInfo>
24{
25public:
26 KisTextureMaskInfo(int levelOfDetail, bool preserveAlpha);
28
30
31 friend bool operator==(const KisTextureMaskInfo &lhs, const KisTextureMaskInfo &rhs);
32
34
35 bool isValid() const;
36
37 int levelOfDetail() const;
38
39 bool hasMask() const;
40
42
43 QRect maskBounds() const;
44
45 bool fillProperties(const KisPropertiesConfiguration *setting, KisResourcesInterfaceSP resourcesInterface, bool invertAdditionally);
46
47 void recalculateMask();
48
49 bool hasAlpha();
50
51private:
53 bool m_preserveAlpha = false;
54
56
57 qreal m_scale = 1.0;
58 qreal m_brightness = 0.0;
59 qreal m_contrast = 1.0;
60 qreal m_neutralPoint = 0.5;
61 bool m_invert = false;
62
63 int m_cutoffLeft = 0;
64 int m_cutoffRight = 255;
66
69
70};
71
73
84
85#endif // KISTEXTUREMASKINFO_H
QSharedPointer< KisTextureMaskInfo > KisTextureMaskInfoSP
a provider-like interface class for accessing resource sources in Krita.
bool fillProperties(const KisPropertiesConfiguration *setting, KisResourcesInterfaceSP resourcesInterface, bool invertAdditionally)
KisTextureMaskInfo & operator=(const KisTextureMaskInfo &rhs)
KisPaintDeviceSP m_mask
KisTextureMaskInfo(int levelOfDetail, bool preserveAlpha)
KisPaintDeviceSP mask()
friend bool operator==(const KisTextureMaskInfo &lhs, const KisTextureMaskInfo &rhs)
QSharedPointer< KisTextureMaskInfo > m_lodInfo
KisTextureMaskInfoSP fetchCachedTextureInfo(KisTextureMaskInfoSP info)
static KisTextureMaskInfoCache * instance()
QSharedPointer< KisTextureMaskInfo > m_mainInfo