1// Copyright (C) 2016 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 QLINUXFBSCREEN_H
5#define QLINUXFBSCREEN_H
6
7#include <QtFbSupport/private/qfbscreen_p.h>
8
9QT_BEGIN_NAMESPACE
10
11class QPainter;
12class QFbCursor;
13
14class QLinuxFbScreen : public QFbScreen
15{
16 Q_OBJECT
17public:
18 QLinuxFbScreen(const QStringList &args);
19 ~QLinuxFbScreen();
20
21 bool initialize() override;
22
23 QPixmap grabWindow(WId wid, int x, int y, int width, int height) const override;
24
25 QRegion doRedraw() override;
26
27private:
28 QStringList mArgs;
29 int mFbFd;
30 int mTtyFd;
31
32 QImage mFbScreenImage;
33 int mBytesPerLine;
34 int mOldTtyMode;
35
36 struct {
37 uchar *data;
38 int offset, size;
39 } mMmap;
40
41 QPainter *mBlitter;
42};
43
44QT_END_NAMESPACE
45
46#endif // QLINUXFBSCREEN_H
47
48

source code of qtbase/src/plugins/platforms/linuxfb/qlinuxfbscreen.h