1 /*
2  * DQt - D bindings for the Qt Toolkit
3  *
4  * GNU Lesser General Public License Usage
5  * This file may be used under the terms of the GNU Lesser
6  * General Public License version 3 as published by the Free Software
7  * Foundation and appearing in the file LICENSE.LGPL3 included in the
8  * packaging of this file. Please review the following information to
9  * ensure the GNU Lesser General Public License version 3 requirements
10  * will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
11  */
12 module qt.gui.colortransform;
13 extern(C++):
14 
15 import qt.config;
16 import qt.core.shareddata;
17 import qt.core.typeinfo;
18 import qt.gui.color;
19 import qt.gui.rgb;
20 import qt.gui.rgba64;
21 import qt.helpers;
22 
23 extern(C++, class) struct QColorSpacePrivate;
24 extern(C++, class) struct QColorTransformPrivate;
25 /+ QT_DECLARE_QESDP_SPECIALIZATION_DTOR_WITH_EXPORT(QColorTransformPrivate, Q_GUI_EXPORT) +/
26 /// Binding for C++ class [QColorTransform](https://doc.qt.io/qt-6/qcolortransform.html).
27 @Q_RELOCATABLE_TYPE extern(C++, class) struct QColorTransform
28 {
29 public:
30     /+ QColorTransform() noexcept = default; +/
31     /+ Q_GUI_EXPORT +/~this();
32     @disable this(this);
33     /+ Q_GUI_EXPORT +/this(ref const(QColorTransform) colorTransform)/+ noexcept+/;
34     /+ QColorTransform(QColorTransform &&colorTransform) = default; +/
35     /+ref QColorTransform operator =(ref const(QColorTransform) other)/+ noexcept+/
36     {
37         QColorTransform{other}.swap(this);
38         return this;
39     }+/
40     /+ QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_MOVE_AND_SWAP(QColorTransform) +/
41 
42     /+ void swap(QColorTransform &other) noexcept { qSwap(d, other.d); } +/
43 
44     /+ Q_GUI_EXPORT +/ QRgb map(QRgb argb) const;
45     /+ Q_GUI_EXPORT +/ QRgba64 map(QRgba64 rgba64) const;
46     /+ Q_GUI_EXPORT +/ QColor map(ref const(QColor) color) const;
47 
48 private:
49     /+ friend class QColorSpace; +/
50     /+ friend class QColorSpacePrivate; +/
51     /+ friend class QColorTransformPrivate; +/
52     /+ friend class QImage; +/
53 
54     QExplicitlySharedDataPointer!(QColorTransformPrivate) d;
55     mixin(CREATE_CONVENIENCE_WRAPPERS);
56 }
57 
58 /+ Q_DECLARE_SHARED(QColorTransform) +/
59