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
qwasmcamera_p.h
Go to the documentation of this file.
1
// Copyright (C) 2022 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
4
#
ifndef
QWASMCAMERA_H
5
#
define
QWASMCAMERA_H
6
7
//
8
// W A R N I N G
9
// -------------
10
//
11
// This file is not part of the Qt API. It exists purely as an
12
// implementation detail. This header file may change from version to
13
// version without notice, or even be removed.
14
//
15
// We mean it.
16
//
17
18
#
include
<
common
/
qwasmvideooutput_p
.
h
>
19
20
#
include
<
QtMultimedia
/
qcameradevice
.
h
>
21
#
include
<
QtMultimedia
/
private
/
qplatformcamera_p
.
h
>
22
#
include
<
QtMultimedia
/
private
/
qplatformvideodevices_p
.
h
>
23
#
include
<
QtCore
/
qloggingcategory
.
h
>
24
25
#
include
<
emscripten
/
val
.
h
>
26
#
include
<
emscripten
/
bind
.
h
>
27
28
QT_BEGIN_NAMESPACE
29
30
Q_DECLARE_LOGGING_CATEGORY(qWasmCamera)
31
32
class
QWasmMediaCaptureSession;
33
34
class
QWasmCamera
:
public
QPlatformCamera
35
{
36
Q_OBJECT
37
38
public
:
39
explicit
QWasmCamera
(
QCamera
*
camera
);
40
~
QWasmCamera
();
41
42
bool
isActive
()
const
override
;
43
void
setActive
(
bool
active)
override
;
44
45
void
setCamera
(
const
QCameraDevice &camera)
override
;
46
bool
setCameraFormat
(
const
QCameraFormat &format)
override
;
47
48
void
setCaptureSession
(QPlatformMediaCaptureSession *session)
override
;
49
50
void
setFocusMode
(QCamera::FocusMode mode)
override
;
51
bool
isFocusModeSupported
(QCamera::FocusMode mode)
const
override
;
52
53
void
setTorchMode
(QCamera::TorchMode mode)
override
;
54
bool
isTorchModeSupported
(QCamera::TorchMode mode)
const
override
;
55
56
void
setExposureMode
(QCamera::ExposureMode mode)
override
;
57
bool
isExposureModeSupported
(QCamera::ExposureMode mode)
const
override
;
58
void
setExposureCompensation
(
float
bias)
override
;
59
60
void
setManualExposureTime
(
float
)
override
;
61
int
isoSensitivity
()
const
override
;
62
void
setManualIsoSensitivity
(
int
)
override
;
63
64
bool
isWhiteBalanceModeSupported
(QCamera::WhiteBalanceMode mode)
const
override
;
65
void
setWhiteBalanceMode
(QCamera::WhiteBalanceMode mode)
override
;
66
67
void
setColorTemperature
(
int
temperature)
override
;
68
69
QWasmVideoOutput
*
cameraOutput
() {
return
m_cameraOutput.data(); }
70
Q_SIGNALS
:
71
void
cameraIsReady
();
72
private
:
73
void
createCamera(
const
QCameraDevice &camera);
74
void
updateCameraFeatures();
75
void
updateVideoFormats(
const
emscripten::val &caps);
76
77
QCameraDevice m_cameraDev;
78
QWasmMediaCaptureSession *m_CaptureSession =
nullptr
;
79
bool
m_cameraActive =
false
;
80
QScopedPointer <QWasmVideoOutput> m_cameraOutput;
81
82
emscripten::val supportedCapabilities =
emscripten
::
val
::
object
();
// browser
83
emscripten::val currentCapabilities =
emscripten
::
val
::
object
();
// camera track
84
emscripten::val currentSettings =
emscripten
::
val
::
object
();
// camera track
85
86
QCamera::TorchMode m_wasmTorchMode;
87
QCamera::ExposureMode m_wasmExposureMode;
88
float
m_wasmExposureTime;
89
float
m_wasmExposureCompensation;
90
int
m_wasmIsoSensitivity;
91
QCamera::WhiteBalanceMode m_wasmWhiteBalanceMode;
92
int
m_wasmColorTemperature;
93
bool
m_cameraIsReady =
false
;
94
bool
m_cameraShouldStartActive =
false
;
95
bool
m_shouldBeActive =
false
;
96
QMetaObject::Connection m_readyChangedConnection;
97
};
98
99
QT_END_NAMESPACE
100
101
#
endif
// QWASMCAMERA_H
QWasmCamera
Definition
qwasmcamera_p.h:35
QWasmCamera::isTorchModeSupported
bool isTorchModeSupported(QCamera::TorchMode mode) const override
Definition
qwasmcamera.cpp:234
QWasmCamera::setManualExposureTime
void setManualExposureTime(float) override
Definition
qwasmcamera.cpp:334
QWasmCamera::~QWasmCamera
~QWasmCamera()
QWasmCamera::setExposureCompensation
void setExposureCompensation(float bias) override
Definition
qwasmcamera.cpp:313
QWasmCamera::setColorTemperature
void setColorTemperature(int temperature) override
Definition
qwasmcamera.cpp:436
QWasmCamera::isoSensitivity
int isoSensitivity() const override
Definition
qwasmcamera.cpp:352
QWasmCamera::setWhiteBalanceMode
void setWhiteBalanceMode(QCamera::WhiteBalanceMode mode) override
Definition
qwasmcamera.cpp:407
QWasmCamera::setTorchMode
void setTorchMode(QCamera::TorchMode mode) override
Definition
qwasmcamera.cpp:207
QWasmCamera::isWhiteBalanceModeSupported
bool isWhiteBalanceModeSupported(QCamera::WhiteBalanceMode mode) const override
Definition
qwasmcamera.cpp:388
QWasmCamera::setExposureMode
void setExposureMode(QCamera::ExposureMode mode) override
Definition
qwasmcamera.cpp:250
QWasmCamera::setCameraFormat
bool setCameraFormat(const QCameraFormat &format) override
Definition
qwasmcamera.cpp:140
QWasmCamera::setManualIsoSensitivity
void setManualIsoSensitivity(int) override
Definition
qwasmcamera.cpp:368
QWasmCamera::setFocusMode
void setFocusMode(QCamera::FocusMode mode) override
Definition
qwasmcamera.cpp:159
QWasmCamera::cameraOutput
QWasmVideoOutput * cameraOutput()
Definition
qwasmcamera_p.h:69
QWasmCamera::setActive
void setActive(bool active) override
Definition
qwasmcamera.cpp:52
QWasmCamera::isFocusModeSupported
bool isFocusModeSupported(QCamera::FocusMode mode) const override
Definition
qwasmcamera.cpp:172
QWasmCamera::isActive
bool isActive() const override
Definition
qwasmcamera.cpp:47
QWasmCamera::setCaptureSession
void setCaptureSession(QPlatformMediaCaptureSession *session) override
Definition
qwasmcamera.cpp:147
QWasmCamera::isExposureModeSupported
bool isExposureModeSupported(QCamera::ExposureMode mode) const override
Definition
qwasmcamera.cpp:280
QWasmCamera::setCamera
void setCamera(const QCameraDevice &camera) override
Definition
qwasmcamera.cpp:99
QWasmMediaCaptureSession
Definition
qwasmmediacapturesession_p.h:36
QWasmVideoOutput
Definition
qwasmvideooutput_p.h:41
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
Q_LOGGING_CATEGORY
Q_LOGGING_CATEGORY(lcEventDispatcher, "qt.eventdispatcher")
qtmultimedia
src
plugins
multimedia
wasm
mediacapture
qwasmcamera_p.h
Generated on
for Qt by
1.18.0