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
qeglfskmseventreader_p.h
Go to the documentation of this file.
1
// Copyright (C) 2019 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
QEGLFSKKMSEVENTREADER_H
6
#
define
QEGLFSKKMSEVENTREADER_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
"private/qeglfsglobal_p.h"
20
#
include
<
QObject
>
21
#
include
<
QThread
>
22
#
include
<
QMutex
>
23
#
include
<
QWaitCondition
>
24
25
QT_BEGIN_NAMESPACE
26
27
class
QEglFSKmsDevice;
28
29
struct
QEglFSKmsEventHost
:
public
QObject
30
{
31
struct
PendingFlipWait
{
32
void
*
key
;
33
QMutex
*
mutex
;
34
QWaitCondition
*
cond
;
35
};
36
37
static
const
int
MAX_FLIPS
= 32;
38
void
*
completedFlips
[
MAX_FLIPS
] = {};
39
QEglFSKmsEventHost
::
PendingFlipWait
pendingFlipWaits
[
MAX_FLIPS
] = {};
40
41
bool
event
(QEvent *event)
override
;
42
void
updateStatus
();
43
void
handlePageFlipCompleted
(
void
*key);
44
};
45
46
class
QEglFSKmsEventReaderThread
:
public
QThread
47
{
48
public
:
49
QEglFSKmsEventReaderThread
(
int
fd) : m_fd(fd) { }
50
void
run
()
override
;
51
QEglFSKmsEventHost
*
eventHost
() {
return
&m_ev; }
52
53
private
:
54
int
m_fd;
55
QEglFSKmsEventHost
m_ev;
56
};
57
58
class
Q_EGLFS_EXPORT
QEglFSKmsEventReader
59
{
60
public
:
61
~QEglFSKmsEventReader();
62
63
void
create(QEglFSKmsDevice *device);
64
void
destroy();
65
66
void
startWaitFlip(
void
*key, QMutex *mutex, QWaitCondition *cond);
67
68
private
:
69
QEglFSKmsDevice *m_device =
nullptr
;
70
QEglFSKmsEventReaderThread *m_thread =
nullptr
;
71
};
72
73
QT_END_NAMESPACE
74
75
#
endif
// QEGLFSKKMSEVENTREADER_H
QEglFSKmsEventReaderThread
Definition
qeglfskmseventreader_p.h:47
QEglFSKmsEventReaderThread::QEglFSKmsEventReaderThread
QEglFSKmsEventReaderThread(int fd)
Definition
qeglfskmseventreader_p.h:49
QEglFSKmsEventReaderThread::eventHost
QEglFSKmsEventHost * eventHost()
Definition
qeglfskmseventreader_p.h:51
QEglFSKmsEventReaderThread::run
void run() override
Definition
qeglfskmseventreader.cpp:116
QEglFSKmsEventReader
Definition
qeglfskmseventreader_p.h:59
RegisterWaitFlipEvent
Definition
qeglfskmseventreader.cpp:31
RegisterWaitFlipEvent::RegisterWaitFlipEvent
RegisterWaitFlipEvent(void *key, QMutex *mutex, QWaitCondition *cond)
Definition
qeglfskmseventreader.cpp:34
RegisterWaitFlipEvent::cond
QWaitCondition * cond
Definition
qeglfskmseventreader.cpp:39
RegisterWaitFlipEvent::key
void * key
Definition
qeglfskmseventreader.cpp:37
RegisterWaitFlipEvent::TYPE
static const QEvent::Type TYPE
Definition
qeglfskmseventreader.cpp:33
RegisterWaitFlipEvent::mutex
QMutex * mutex
Definition
qeglfskmseventreader.cpp:38
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
pageFlipHandler
static QT_BEGIN_NAMESPACE void pageFlipHandler(int fd, unsigned int sequence, unsigned int tv_sec, unsigned int tv_usec, void *user_data)
Definition
qeglfskmseventreader.cpp:16
QEglFSKmsEventHost::PendingFlipWait
Definition
qeglfskmseventreader_p.h:31
QEglFSKmsEventHost::PendingFlipWait::mutex
QMutex * mutex
Definition
qeglfskmseventreader_p.h:33
QEglFSKmsEventHost::PendingFlipWait::cond
QWaitCondition * cond
Definition
qeglfskmseventreader_p.h:34
QEglFSKmsEventHost::PendingFlipWait::key
void * key
Definition
qeglfskmseventreader_p.h:32
QEglFSKmsEventHost
Definition
qeglfskmseventreader_p.h:30
QEglFSKmsEventHost::pendingFlipWaits
QEglFSKmsEventHost::PendingFlipWait pendingFlipWaits[MAX_FLIPS]
Definition
qeglfskmseventreader_p.h:39
QEglFSKmsEventHost::MAX_FLIPS
static const int MAX_FLIPS
Definition
qeglfskmseventreader_p.h:37
QEglFSKmsEventHost::updateStatus
void updateStatus()
Definition
qeglfskmseventreader.cpp:67
QEglFSKmsEventHost::event
bool event(QEvent *event) override
This virtual function receives events to an object and should return true if the event e was recogniz...
Definition
qeglfskmseventreader.cpp:42
QEglFSKmsEventHost::completedFlips
void * completedFlips[MAX_FLIPS]
Definition
qeglfskmseventreader_p.h:38
QEglFSKmsEventHost::handlePageFlipCompleted
void handlePageFlipCompleted(void *key)
Definition
qeglfskmseventreader.cpp:92
qtbase
src
plugins
platforms
eglfs
deviceintegration
eglfs_kms_support
qeglfskmseventreader_p.h
Generated on
for Qt by
1.18.0