Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
qwaylandcolormanagement_p.h
Go to the documentation of this file.
1
// Copyright (C) 2024 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
// Qt-Security score:significant reason:default
4
5
#
ifndef
QWAYLANDCOLORMANAGEMENT_H
6
#
define
QWAYLANDCOLORMANAGEMENT_H
7
8
//
9
// W A R N I N G
10
// -------------
11
//
12
// This file is not part of the Qt API. It exists purely as an
13
// implementation detail. This header file may change from version to
14
// version without notice, or even be removed.
15
//
16
// We mean it.
17
//
18
19
#
include
<
QObject
>
20
#
include
<
QPointF
>
21
#
include
<
QColorSpace
>
22
#
include
<
QList
>
23
24
#
include
"qwayland-color-management-v1.h"
25
26
QT_BEGIN_NAMESPACE
27
28
namespace
QtWaylandClient
{
29
30
class
ImageDescription
;
31
32
class
ColorManager
:
public
QObject
,
public
QtWayland
::
wp_color_manager_v1
33
{
34
Q_OBJECT
35
public
:
36
enum
class
Feature
{
37
ICC
= 1 << 0,
38
Parametric
= 1 << 1,
39
SetPrimaries
= 1 << 2,
40
PowerTransferFunction
= 1 << 3,
41
SetLuminances
= 1 << 4,
42
SetMasteringDisplayPrimaries
= 1 << 5,
43
ExtendedTargetVolume
= 1 << 6,
44
};
45
Q_ENUM
(
Feature
);
46
Q_DECLARE_FLAGS
(
Features
,
Feature
);
47
48
explicit
ColorManager
(
struct
::wl_registry *registry, uint32_t id,
int
version);
49
~
ColorManager
()
override
;
50
51
Features
supportedFeatures
()
const
;
52
bool
supportsNamedPrimary
(QtWayland::wp_color_manager_v1::primaries primaries)
const
;
53
bool
supportsTransferFunction
(QtWayland::wp_color_manager_v1::transfer_function transferFunction)
const
;
54
55
std
::
unique_ptr
<
ImageDescription
>
createImageDescription
(
const
QColorSpace &colorspace);
56
57
private
:
58
void
wp_color_manager_v1_supported_feature
(uint32_t feature)
override
;
59
void
wp_color_manager_v1_supported_primaries_named
(uint32_t primaries)
override
;
60
void
wp_color_manager_v1_supported_tf_named
(uint32_t transferFunction)
override
;
61
62
Features mFeatures;
63
QList<QtWayland::wp_color_manager_v1::primaries> mPrimaries;
64
QList<QtWayland::wp_color_manager_v1::transfer_function> mTransferFunctions;
65
};
66
67
class
ImageDescriptionInfo
:
public
QObject
,
public
QtWayland
::
wp_image_description_info_v1
68
{
69
Q_OBJECT
70
public
:
71
explicit
ImageDescriptionInfo
(
ImageDescription
*
descr
);
72
~
ImageDescriptionInfo
();
73
74
Q_SIGNAL
void
done
();
75
76
uint32_t
mTransferFunction
= 0;
77
QPointF
mContainerRed
;
78
QPointF
mContainerGreen
;
79
QPointF
mContainerBlue
;
80
QPointF
mContainerWhite
;
81
QPointF
mTargetRed
;
82
QPointF
mTargetGreen
;
83
QPointF
mTargetBlue
;
84
QPointF
mTargetWhite
;
85
double
mMinLuminance
;
86
double
mMaxLuminance
;
87
double
mReferenceLuminance
;
88
double
mTargetMinLuminance
;
89
double
mTargetMaxLuminance
;
90
91
private
:
92
void
wp_image_description_info_v1_done
()
override
;
93
void
wp_image_description_info_v1_icc_file
(int32_t icc, uint32_t icc_size)
override
;
94
void
wp_image_description_info_v1_primaries
(int32_t r_x, int32_t r_y, int32_t g_x, int32_t g_y, int32_t b_x, int32_t b_y, int32_t w_x, int32_t w_y)
override
;
95
void
wp_image_description_info_v1_tf_named
(uint32_t transferFunction)
override
;
96
void
wp_image_description_info_v1_luminances
(uint32_t min_lum, uint32_t max_lum, uint32_t reference_lum)
override
;
97
void
wp_image_description_info_v1_target_primaries
(int32_t r_x, int32_t r_y, int32_t g_x, int32_t g_y, int32_t b_x, int32_t b_y, int32_t w_x, int32_t w_y)
override
;
98
void
wp_image_description_info_v1_target_luminance
(uint32_t min_lum, uint32_t max_lum)
override
;
99
};
100
101
class
ImageDescription
:
public
QObject
,
public
QtWayland
::
wp_image_description_v1
102
{
103
Q_OBJECT
104
public
:
105
explicit
ImageDescription
(::
wp_image_description_v1
*
descr
);
106
~
ImageDescription
();
107
108
Q_SIGNAL
void
ready
();
109
110
private
:
111
void
wp_image_description_v1_failed
(uint32_t cause,
const
QString &msg)
override
;
112
void
wp_image_description_v1_ready
(uint32_t identity)
override
;
113
};
114
115
class
ColorManagementFeedback
:
public
QObject
,
public
QtWayland
::
wp_color_management_surface_feedback_v1
116
{
117
Q_OBJECT
118
public
:
119
explicit
ColorManagementFeedback
(::
wp_color_management_surface_feedback_v1
*
obj
);
120
~
ColorManagementFeedback
();
121
122
Q_SIGNAL
void
preferredChanged
();
123
124
std
::
unique_ptr
<
ImageDescriptionInfo
>
mPreferredInfo
;
125
126
private
:
127
void
wp_color_management_surface_feedback_v1_preferred_changed
(uint32_t identity)
override
;
128
void
handlePreferredDone();
129
130
std::unique_ptr<ImageDescription> mPreferred;
131
std::unique_ptr<ImageDescriptionInfo> mPendingPreferredInfo;
132
133
};
134
135
class
ColorManagementSurface
:
public
QObject
,
public
QtWayland
::
wp_color_management_surface_v1
136
{
137
Q_OBJECT
138
public
:
139
explicit
ColorManagementSurface
(::
wp_color_management_surface_v1
*
obj
);
140
~
ColorManagementSurface
();
141
142
void
setImageDescription
(
ImageDescription
*descr);
143
};
144
145
}
146
147
QT_END_NAMESPACE
148
149
#
endif
QtWaylandClient::ColorManagementFeedback
Definition
qwaylandcolormanagement_p.h:116
QtWaylandClient::ColorManagementFeedback::preferredChanged
Q_SIGNAL void preferredChanged()
QtWaylandClient::ColorManagementFeedback::~ColorManagementFeedback
~ColorManagementFeedback()
Definition
qwaylandcolormanagement.cpp:228
QtWaylandClient::ColorManagementFeedback::mPreferredInfo
std::unique_ptr< ImageDescriptionInfo > mPreferredInfo
Definition
qwaylandcolormanagement_p.h:124
QtWaylandClient::ColorManagementFeedback::wp_color_management_surface_feedback_v1_preferred_changed
void wp_color_management_surface_feedback_v1_preferred_changed(uint32_t identity) override
Definition
qwaylandcolormanagement.cpp:233
QtWaylandClient::ColorManagementSurface
Definition
qwaylandcolormanagement_p.h:136
QtWaylandClient::ColorManagementSurface::setImageDescription
void setImageDescription(ImageDescription *descr)
Definition
qwaylandcolormanagement.cpp:256
QtWaylandClient::ColorManagementSurface::~ColorManagementSurface
~ColorManagementSurface()
Definition
qwaylandcolormanagement.cpp:251
QtWaylandClient::ColorManager
Definition
qwaylandcolormanagement_p.h:33
QtWaylandClient::ColorManager::Q_DECLARE_FLAGS
Q_DECLARE_FLAGS(Features, Feature)
QtWaylandClient::ColorManager::supportedFeatures
Features supportedFeatures() const
Definition
qwaylandcolormanagement.cpp:63
QtWaylandClient::ColorManager::wp_color_manager_v1_supported_tf_named
void wp_color_manager_v1_supported_tf_named(uint32_t transferFunction) override
Definition
qwaylandcolormanagement.cpp:58
QtWaylandClient::ColorManager::wp_color_manager_v1_supported_primaries_named
void wp_color_manager_v1_supported_primaries_named(uint32_t primaries) override
Definition
qwaylandcolormanagement.cpp:53
QtWaylandClient::ColorManager::wp_color_manager_v1_supported_feature
void wp_color_manager_v1_supported_feature(uint32_t feature) override
Definition
qwaylandcolormanagement.cpp:26
QtWaylandClient::ColorManager::createImageDescription
std::unique_ptr< ImageDescription > createImageDescription(const QColorSpace &colorspace)
Definition
qwaylandcolormanagement.cpp:78
QtWaylandClient::ColorManager::supportsTransferFunction
bool supportsTransferFunction(QtWayland::wp_color_manager_v1::transfer_function transferFunction) const
Definition
qwaylandcolormanagement.cpp:73
QtWaylandClient::ColorManager::Q_ENUM
Q_ENUM(Feature)
QtWaylandClient::ColorManager::supportsNamedPrimary
bool supportsNamedPrimary(QtWayland::wp_color_manager_v1::primaries primaries) const
Definition
qwaylandcolormanagement.cpp:68
QtWaylandClient::ColorManager::~ColorManager
~ColorManager() override
Definition
qwaylandcolormanagement.cpp:21
QtWaylandClient::ImageDescriptionInfo
Definition
qwaylandcolormanagement_p.h:68
QtWaylandClient::ImageDescriptionInfo::wp_image_description_info_v1_target_primaries
void wp_image_description_info_v1_target_primaries(int32_t r_x, int32_t r_y, int32_t g_x, int32_t g_y, int32_t b_x, int32_t b_y, int32_t w_x, int32_t w_y) override
Definition
qwaylandcolormanagement.cpp:184
QtWaylandClient::ImageDescriptionInfo::mTargetRed
QPointF mTargetRed
Definition
qwaylandcolormanagement_p.h:81
QtWaylandClient::ImageDescriptionInfo::wp_image_description_info_v1_tf_named
void wp_image_description_info_v1_tf_named(uint32_t transferFunction) override
Definition
qwaylandcolormanagement.cpp:172
QtWaylandClient::ImageDescriptionInfo::mTargetMaxLuminance
double mTargetMaxLuminance
Definition
qwaylandcolormanagement_p.h:89
QtWaylandClient::ImageDescriptionInfo::mContainerBlue
QPointF mContainerBlue
Definition
qwaylandcolormanagement_p.h:79
QtWaylandClient::ImageDescriptionInfo::mTargetBlue
QPointF mTargetBlue
Definition
qwaylandcolormanagement_p.h:83
QtWaylandClient::ImageDescriptionInfo::wp_image_description_info_v1_icc_file
void wp_image_description_info_v1_icc_file(int32_t icc, uint32_t icc_size) override
Definition
qwaylandcolormanagement.cpp:158
QtWaylandClient::ImageDescriptionInfo::wp_image_description_info_v1_done
void wp_image_description_info_v1_done() override
Definition
qwaylandcolormanagement.cpp:153
QtWaylandClient::ImageDescriptionInfo::wp_image_description_info_v1_target_luminance
void wp_image_description_info_v1_target_luminance(uint32_t min_lum, uint32_t max_lum) override
Definition
qwaylandcolormanagement.cpp:192
QtWaylandClient::ImageDescriptionInfo::mTransferFunction
uint32_t mTransferFunction
Definition
qwaylandcolormanagement_p.h:76
QtWaylandClient::ImageDescriptionInfo::mTargetMinLuminance
double mTargetMinLuminance
Definition
qwaylandcolormanagement_p.h:88
QtWaylandClient::ImageDescriptionInfo::wp_image_description_info_v1_luminances
void wp_image_description_info_v1_luminances(uint32_t min_lum, uint32_t max_lum, uint32_t reference_lum) override
Definition
qwaylandcolormanagement.cpp:177
QtWaylandClient::ImageDescriptionInfo::mMinLuminance
double mMinLuminance
Definition
qwaylandcolormanagement_p.h:85
QtWaylandClient::ImageDescriptionInfo::mTargetWhite
QPointF mTargetWhite
Definition
qwaylandcolormanagement_p.h:84
QtWaylandClient::ImageDescriptionInfo::mTargetGreen
QPointF mTargetGreen
Definition
qwaylandcolormanagement_p.h:82
QtWaylandClient::ImageDescriptionInfo::mContainerGreen
QPointF mContainerGreen
Definition
qwaylandcolormanagement_p.h:78
QtWaylandClient::ImageDescriptionInfo::done
Q_SIGNAL void done()
QtWaylandClient::ImageDescriptionInfo::mMaxLuminance
double mMaxLuminance
Definition
qwaylandcolormanagement_p.h:86
QtWaylandClient::ImageDescriptionInfo::wp_image_description_info_v1_primaries
void wp_image_description_info_v1_primaries(int32_t r_x, int32_t r_y, int32_t g_x, int32_t g_y, int32_t b_x, int32_t b_y, int32_t w_x, int32_t w_y) override
Definition
qwaylandcolormanagement.cpp:164
QtWaylandClient::ImageDescriptionInfo::~ImageDescriptionInfo
~ImageDescriptionInfo()
Definition
qwaylandcolormanagement.cpp:148
QtWaylandClient::ImageDescriptionInfo::mReferenceLuminance
double mReferenceLuminance
Definition
qwaylandcolormanagement_p.h:87
QtWaylandClient::ImageDescriptionInfo::mContainerRed
QPointF mContainerRed
Definition
qwaylandcolormanagement_p.h:77
QtWaylandClient::ImageDescriptionInfo::mContainerWhite
QPointF mContainerWhite
Definition
qwaylandcolormanagement_p.h:80
QtWaylandClient::ImageDescription
Definition
qwaylandcolormanagement_p.h:102
QtWaylandClient::ImageDescription::~ImageDescription
~ImageDescription()
Definition
qwaylandcolormanagement.cpp:203
QtWaylandClient::ImageDescription::wp_image_description_v1_failed
void wp_image_description_v1_failed(uint32_t cause, const QString &msg) override
Definition
qwaylandcolormanagement.cpp:208
QtWaylandClient::ImageDescription::wp_image_description_v1_ready
void wp_image_description_v1_ready(uint32_t identity) override
Definition
qwaylandcolormanagement.cpp:216
QtWaylandClient::ImageDescription::ready
Q_SIGNAL void ready()
QtWaylandClient
Definition
qwaylandclientextension.h:16
std
[33]
Definition
src_corelib_tools_qhash.cpp:421
qtbase
src
plugins
platforms
wayland
qwaylandcolormanagement_p.h
Generated on
for Qt by
1.18.0