Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qvncscreen.h
Go to the documentation of this file.
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 QVncScreen_H
5#define QVncScreen_H
6
7#include <QtFbSupport/private/qfbscreen_p.h>
8
10
11class QPainter;
12class QFbCursor;
13class QTcpSocket;
14class QVncServer;
15class QVncDirtyMap;
16class QVncClientCursor;
17class QVncClient;
18
19class QVncScreen : public QFbScreen
20{
22public:
24 ~QVncScreen();
25
26 bool initialize() override;
27
28 QPixmap grabWindow(WId wid, int x, int y, int width, int height) const override;
29
30 QRegion doRedraw() override;
31 QImage *image() { return &mScreenImage; }
32
33 void enableClientCursor(QVncClient *client);
34 void disableClientCursor(QVncClient *client);
35 QPlatformCursor *cursor() const override;
36
37 Flags flags() const override;
38
39 void clearDirty() { dirtyRegion = QRegion(); }
40
41#if Q_BYTE_ORDER == Q_BIG_ENDIAN
42 bool swapBytes() const;
43#endif
44
46
47 qreal dpiX = 96;
48 qreal dpiY = 96;
49 QVncDirtyMap *dirty = nullptr;
51 int refreshRate = 30;
53#if QT_CONFIG(cursor)
55#endif
56};
57
58QT_END_NAMESPACE
59
60#endif // QVncScreen_H
friend class QPainter
bool read(QTcpSocket *s)
Definition qvnc.cpp:405
quint32 length
Definition qvnc_p.h:163
void write(QTcpSocket *socket) const
bool read(const uchar *data, int width, int height, int stride)
QRfbDualColorHextile(QRfbHextileEncoder< SRC > *e)
Definition qvnc_p.h:207
virtual void write()=0
virtual ~QRfbEncoder()
Definition qvnc_p.h:170
QVncClient * client
Definition qvnc_p.h:175
QRfbEncoder(QVncClient *s)
Definition qvnc_p.h:169
bool read(QTcpSocket *s)
Definition qvnc.cpp:332
QRfbHextileEncoder(QVncServer *s)
int keycode
Definition qvnc_p.h:144
bool read(QTcpSocket *s)
Definition qvnc.cpp:343
char down
Definition qvnc_p.h:143
int unicode
Definition qvnc_p.h:145
QRfbMultiColorHextile(QRfbHextileEncoder< SRC > *e)
Definition qvnc_p.h:252
void write(QTcpSocket *socket) const
bool read(const uchar *data, int width, int height, int stride)
static int size()
Definition qvnc_p.h:86
bool trueColor
Definition qvnc_p.h:94
bool bigEndian
Definition qvnc_p.h:93
void read(QTcpSocket *s)
Definition qvnc.cpp:229
int bitsPerPixel
Definition qvnc_p.h:91
void write(QTcpSocket *s)
Definition qvnc.cpp:255
bool read(QTcpSocket *s)
Definition qvnc.cpp:381
Qt::MouseButtons buttons
Definition qvnc_p.h:153
void write() override
Definition qvnc.cpp:418
QRfbRawEncoder(QVncClient *s)
Definition qvnc_p.h:181
quint16 x
Definition qvnc_p.h:77
QRfbRect()
Definition qvnc_p.h:69
void read(QTcpSocket *s)
Definition qvnc.cpp:209
QRfbRect(quint16 _x, quint16 _y, quint16 _w, quint16 _h)
Definition qvnc_p.h:70
quint16 w
Definition qvnc_p.h:79
quint16 h
Definition qvnc_p.h:80
void write(QTcpSocket *s) const
Definition qvnc.cpp:219
quint16 y
Definition qvnc_p.h:78
void read(QTcpSocket *s)
Definition qvnc.cpp:289
int size() const
Definition qvnc_p.h:109
quint16 width
Definition qvnc_p.h:115
QRfbPixelFormat format
Definition qvnc_p.h:117
void setName(const char *n)
Definition qvnc.cpp:282
char * name
Definition qvnc_p.h:118
quint16 height
Definition qvnc_p.h:116
void write(QTcpSocket *s)
Definition qvnc.cpp:306
quint16 count
Definition qvnc_p.h:126
bool read(QTcpSocket *s)
Definition qvnc.cpp:319
void write(QTcpSocket *socket) const
QRfbSingleColorHextile(QRfbHextileEncoder< SRC > *e)
Definition qvnc_p.h:195
bool read(const uchar *data, int width, int height, int stride)
QVncDirtyMapOptimized(QVncScreen *screen)
Definition qvnc_p.h:59
void setDirty(int x, int y, bool force=false) override
Definition qvnc.cpp:66
int bufferStride
Definition qvnc_p.h:51
int mapWidth
Definition qvnc_p.h:43
uchar * buffer
Definition qvnc_p.h:48
int bytesPerPixel
Definition qvnc_p.h:41
int numTiles
Definition qvnc_p.h:52
int mapHeight
Definition qvnc_p.h:44
int bufferHeight
Definition qvnc_p.h:50
QVncDirtyMap(QVncScreen *screen)
Definition qvnc.cpp:26
QVncScreen * screen
Definition qvnc_p.h:40
int numDirty
Definition qvnc_p.h:42
void reset()
Definition qvnc.cpp:47
uchar * map
Definition qvnc_p.h:47
virtual ~QVncDirtyMap()
Definition qvnc.cpp:41
int bufferWidth
Definition qvnc_p.h:49
bool dirty(int x, int y) const
Definition qvnc.cpp:54
virtual void setDirty(int x, int y, bool force=false)=0
void setClean(int x, int y)
Definition qvnc.cpp:59
bool hasCapability(QPlatformIntegration::Capability cap) const override
QPlatformFontDatabase * fontDatabase() const override
Accessor for the platform integration's fontdatabase.
QPlatformWindow * createPlatformWindow(QWindow *window) const override
Factory function for QPlatformWindow.
QPlatformServices * services() const override
QVncIntegration(const QStringList &paramList)
QList< QPlatformScreen * > screens() const
void initialize() override
Performs initialization steps that depend on having an event dispatcher available.
QPlatformNativeInterface * nativeInterface() const override
QPlatformBackingStore * createPlatformBackingStore(QWindow *window) const override
Factory function for QPlatformBackingStore.
QPlatformInputContext * inputContext() const override
Returns the platforms input context.
QAbstractEventDispatcher * createEventDispatcher() const override
Factory function for the GUI event dispatcher.
void clearDirty()
Definition qvncscreen.h:39
void disableClientCursor(QVncClient *client)
QRegion doRedraw() override
QPlatformCursor * cursor() const override
Reimplement this function in subclass to return the cursor of the screen.
int refreshRate
Definition qvncscreen.h:51
qreal dpiY
Definition qvncscreen.h:48
QVncDirtyMap * dirty
Definition qvncscreen.h:49
qreal dpiX
Definition qvncscreen.h:47
QVncServer * vncServer
Definition qvncscreen.h:52
Flags flags() const override
QImage * image()
Definition qvncscreen.h:31
QRegion dirtyRegion
Definition qvncscreen.h:50
bool initialize() override
void enableClientCursor(QVncClient *client)
QStringList mArgs
Definition qvncscreen.h:45
bool swapBytes() const
QPixmap grabWindow(WId wid, int x, int y, int width, int height) const override
This function is called when Qt needs to be able to grab the content of a window.
QVncScreen * screen() const
Definition qvnc_p.h:364
~QVncServer()
Definition qvnc.cpp:609
QImage screenImage() const
Definition qvnc.cpp:644
void discardClient(QVncClient *client)
Definition qvnc.cpp:635
void setDirty()
Definition qvnc.cpp:614
@ SetColourMapEntries
Definition qvnc_p.h:359
@ FramebufferUpdate
Definition qvnc_p.h:358
QVncDirtyMap * dirtyMap() const
Definition qvnc_p.h:365