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
qvsp2blendingdevice.h
Go to the documentation of this file.
1
// Copyright (C) 2017 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
QVSP2BLENDINGDEVICE_H
6
#
define
QVSP2BLENDINGDEVICE_H
7
8
#
include
<
QtCore
/
QList
>
9
#
include
<
QtCore
/
QRect
>
10
#
include
<
QtCore
/
qglobal
.
h
>
11
12
#
include
"qlinuxmediadevice.h"
13
14
QT_BEGIN_NAMESPACE
15
16
class
QSize;
17
18
class
QVsp2BlendingDevice
19
{
20
public
:
21
QVsp2BlendingDevice
(
const
QSize& screenSize);
//TODO: add support for output format as well?
22
bool
enableInput
(
int
i,
const
QRect &bufferGeometry, uint drmFormat, uint bytesPerLine);
23
int
enableInput
(
const
QRect &bufferGeometry, uint drmFormat, uint bytesPerLine);
24
bool
disableInput
(
int
i);
25
bool
setInputBuffer
(
int
index,
int
dmabufFd);
26
bool
setInputPosition
(
int
index,
const
QPoint &position);
27
bool
setInputAlpha
(
int
index, qreal alpha);
28
bool
blend
(
int
outputDmabufFd);
29
int
numInputs
()
const
;
30
bool
isDirty
()
const
{
return
m_dirty; }
31
bool
hasContinuousLayers
()
const
;
32
private
:
33
bool
streamOn();
34
bool
streamOff();
35
bool
setInputFormat(
int
i,
const
QRect &bufferGeometry, uint pixelFormat, uint bytesPerLine);
36
QLinuxMediaDevice
m_mediaDevice;
37
QLinuxMediaDevice
::
CaptureSubDevice
*m_wpfOutput =
nullptr
;
// wpf output
38
struct
Input {
39
bool
enabled =
false
;
40
QRect geometry;
41
qreal alpha = 1;
42
struct
{
43
int
fd = -1;
44
uint bytesUsed = 0;
45
uint length = 0;
46
} dmabuf;
47
struct
media_link *linkToBru =
nullptr
;
//rpf.x:1 -> bru:x
48
struct
media_pad *inputFormatPad =
nullptr
;
// rpf.x:0
49
struct
media_pad *outputFormatPad =
nullptr
;
// rpf.x:1
50
int
outputFormatFd = -1;
// rpf.x:1 (again, because v4l2_subdev_* doesn't have a way to set alpha)
51
struct
media_pad *bruInputFormatPad =
nullptr
;
// bru:x
52
QLinuxMediaDevice
::
OutputSubDevice
*rpfInput =
nullptr
;
// rpf.x input
53
};
54
QList<
struct
Input> m_inputs;
55
const
QSize m_screenSize;
56
bool
m_dirty =
true
;
57
};
58
59
QT_END_NAMESPACE
60
61
#
endif
// QVSP2BLENDINGDEVICE
QEglFSKmsVsp2Device
Definition
qeglfskmsvsp2device.h:19
QEglFSKmsVsp2Device::gbmDevice
gbm_device * gbmDevice() const
Definition
qeglfskmsvsp2device.cpp:70
QEglFSKmsVsp2Device::nativeDisplay
void * nativeDisplay() const override
Definition
qeglfskmsvsp2device.cpp:65
QEglFSKmsVsp2Device::QEglFSKmsVsp2Device
QEglFSKmsVsp2Device(QKmsScreenConfig *screenConfig, const QString &path)
Definition
qeglfskmsvsp2device.cpp:19
QEglFSKmsVsp2Device::registerScreenCloning
void registerScreenCloning(QPlatformScreen *screen, QPlatformScreen *screenThisScreenClones, const QList< QPlatformScreen * > &screensCloningThisScreen) override
Definition
qeglfskmsvsp2device.cpp:88
QEglFSKmsVsp2Device::createHeadlessScreen
QPlatformScreen * createHeadlessScreen() override
Definition
qeglfskmsvsp2device.cpp:82
QEglFSKmsVsp2Device::close
void close() override
Definition
qeglfskmsvsp2device.cpp:50
QEglFSKmsVsp2Device::open
bool open() override
Definition
qeglfskmsvsp2device.cpp:24
QEglFSKmsVsp2Device::createScreen
QPlatformScreen * createScreen(const QKmsOutput &output) override
Definition
qeglfskmsvsp2device.cpp:75
QEglFSKmsVsp2Screen
Definition
qeglfskmsvsp2screen.h:22
QEglFSKmsVsp2Screen::removeLayer
bool removeLayer(int id) override
Definition
qeglfskmsvsp2screen.cpp:165
QEglFSKmsVsp2Screen::resetSurface
void resetSurface()
Definition
qeglfskmsvsp2screen.cpp:95
QEglFSKmsVsp2Screen::setLayerPosition
void setLayerPosition(int id, const QPoint &position) override
Definition
qeglfskmsvsp2screen.cpp:153
QEglFSKmsVsp2Screen::flip
void flip()
Definition
qeglfskmsvsp2screen.cpp:177
QEglFSKmsVsp2Screen::createSurface
gbm_surface * createSurface()
Definition
qeglfskmsvsp2screen.cpp:73
QEglFSKmsVsp2Screen::setLayerBuffer
void setLayerBuffer(int id, int dmabufFd) override
Definition
qeglfskmsvsp2screen.cpp:143
QEglFSKmsVsp2Screen::initQtLayer
void initQtLayer()
Definition
qeglfskmsvsp2screen.cpp:115
QEglFSKmsVsp2Screen::addBlendListener
void addBlendListener(void(*callback)()) override
Definition
qeglfskmsvsp2screen.cpp:172
QEglFSKmsVsp2Screen::addLayer
int addLayer(int dmabufFd, const QSize &size, const QPoint &position, uint drmPixelFormat, uint bytesPerLine) override
Definition
qeglfskmsvsp2screen.cpp:130
QEglFSKmsVsp2Screen::setLayerAlpha
void setLayerAlpha(int id, qreal alpha) override
Definition
qeglfskmsvsp2screen.cpp:159
QEglFSKmsVsp2Screen::blendAndFlipDrm
void blendAndFlipDrm()
Definition
qeglfskmsvsp2screen.cpp:235
QEglFSKmsVsp2Screen::initDumbFrameBuffers
void initDumbFrameBuffers()
Definition
qeglfskmsvsp2screen.cpp:100
QEglFSKmsVsp2Screen::initVsp2
void initVsp2()
Definition
qeglfskmsvsp2screen.cpp:106
QEglFSKmsVsp2Screen::QEglFSKmsVsp2Screen
QEglFSKmsVsp2Screen(QEglFSKmsDevice *device, const QKmsOutput &output)
Definition
qeglfskmsvsp2screen.cpp:67
QLinuxMediaDevice::CaptureSubDevice
Definition
qlinuxmediadevice.h:35
QLinuxMediaDevice::OutputSubDevice
Definition
qlinuxmediadevice.h:50
QLinuxMediaDevice
Definition
qlinuxmediadevice.h:19
QVsp2BlendingDevice
Definition
qvsp2blendingdevice.h:19
QVsp2BlendingDevice::QVsp2BlendingDevice
QVsp2BlendingDevice(const QSize &screenSize)
Definition
qvsp2blendingdevice.cpp:47
QVsp2BlendingDevice::enableInput
int enableInput(const QRect &bufferGeometry, uint drmFormat, uint bytesPerLine)
Definition
qvsp2blendingdevice.cpp:119
QVsp2BlendingDevice::blend
bool blend(int outputDmabufFd)
Definition
qvsp2blendingdevice.cpp:182
QVsp2BlendingDevice::isDirty
bool isDirty() const
Definition
qvsp2blendingdevice.h:30
QVsp2BlendingDevice::hasContinuousLayers
bool hasContinuousLayers() const
Definition
qvsp2blendingdevice.cpp:249
QVsp2BlendingDevice::setInputBuffer
bool setInputBuffer(int index, int dmabufFd)
Definition
qvsp2blendingdevice.cpp:142
QVsp2BlendingDevice::enableInput
bool enableInput(int i, const QRect &bufferGeometry, uint drmFormat, uint bytesPerLine)
Definition
qvsp2blendingdevice.cpp:92
QVsp2BlendingDevice::setInputPosition
bool setInputPosition(int index, const QPoint &position)
Definition
qvsp2blendingdevice.cpp:159
QVsp2BlendingDevice::disableInput
bool disableInput(int i)
Definition
qvsp2blendingdevice.cpp:129
QVsp2BlendingDevice::setInputAlpha
bool setInputAlpha(int index, qreal alpha)
Definition
qvsp2blendingdevice.cpp:171
QVsp2BlendingDevice::numInputs
int numInputs() const
Definition
qvsp2blendingdevice.cpp:244
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
qtbase
src
plugins
platforms
eglfs
deviceintegration
eglfs_kms_vsp2
qvsp2blendingdevice.h
Generated on
for Qt by
1.18.0