9#include <QtCore/QLoggingCategory>
10#include <QtCore/qbytearray.h>
11#include <QtCore/qvarlengtharray.h>
12#include <qpa/qplatformcursor.h>
23class QVncClientCursor;
27#define MAP_TILE_SIZE 16
37 virtual void setDirty(
int x,
int y,
bool force =
false) = 0;
62 void setDirty(
int x,
int y,
bool force =
false)
override;
71 x = _x;
y = _y;
w = _w;
h = _h;
86 static int size() {
return 16; }
183 void write()
override;
215 } Q_PACKED rects[8 * 16];
221 inline int lastx()
const {
return rectx(numRects); }
222 inline int lasty()
const {
return recty(numRects); }
223 inline int rectx(
int r)
const {
return rects[
r].xy >> 4; }
224 inline int recty(
int r)
const {
return rects[
r].xy & 0x0f; }
225 inline int width(
int r)
const {
return (rects[
r].wh >> 4) + 1; }
226 inline int height(
int r)
const {
return (rects[
r].wh & 0x0f) + 1; }
228 inline void setX(
int r,
int x) {
229 rects[
r].xy = (
x << 4) | (rects[
r].xy & 0x0f);
231 inline void setY(
int r,
int y) {
232 rects[
r].xy = (rects[
r].xy & 0xf0) |
y;
234 inline void setWidth(
int r,
int width) {
235 rects[
r].wh = ((
width - 1) << 4) | (rects[
r].wh & 0x0f);
237 inline void setHeight(
int r,
int height) {
238 rects[
r].wh = (rects[
r].wh & 0xf0) | (
height - 1);
241 inline void setWidth(
int width) { setWidth(numRects,
width); }
242 inline void setHeight(
int height) { setHeight(numRects,
height); }
243 inline void setX(
int x) { setX(numRects,
x); }
244 inline void setY(
int y) { setY(numRects,
y); }
258 return rects.data() +
r * (bpp + 2);
261 return rects.constData() +
r * (bpp + 2);
263 inline void setX(
int r,
int x) {
265 *
ptr = (
x << 4) | (*
ptr & 0x0f);
267 inline void setY(
int r,
int y) {
271 void setColor(SRC
color);
272 inline int rectx(
int r)
const {
276 inline int recty(
int r)
const {
280 inline void setWidth(
int r,
int width) {
284 inline void setHeight(
int r,
int height) {
292 static const int maxRectsSize = 16 * 16;
310 BackgroundSpecified = 2,
311 ForegroundSpecified = 4,
313 SubrectsColoured = 16
370 void newConnection();
The QCursor class provides a mouse cursor with an arbitrary shape.
\inmodule QtCore\reentrant
void write(QTcpSocket *socket) const
bool read(const uchar *data, int width, int height, int stride)
QRfbDualColorHextile(QRfbHextileEncoder< SRC > *e)
QRfbEncoder(QVncClient *s)
QRfbHextileEncoder(QVncServer *s)
QRfbMultiColorHextile(QRfbHextileEncoder< SRC > *e)
void write(QTcpSocket *socket) const
bool read(const uchar *data, int width, int height, int stride)
QRfbRawEncoder(QVncClient *s)
QRfbRect(quint16 _x, quint16 _y, quint16 _w, quint16 _h)
void write(QTcpSocket *s) const
void setName(const char *n)
void write(QTcpSocket *s)
void write(QTcpSocket *socket) const
QRfbSingleColorHextile(QRfbHextileEncoder< SRC > *e)
bool read(const uchar *data, int width, int height, int stride)
The QTcpServer class provides a TCP-based server.
The QTcpSocket class provides a TCP socket.
QVncDirtyMapOptimized(QVncScreen *screen)
void setDirty(int x, int y, bool force=false) override
bool dirty(int x, int y) const
virtual void setDirty(int x, int y, bool force=false)=0
void setClean(int x, int y)
QVncScreen * screen() const
QImage screenImage() const
void discardClient(QVncClient *client)
QVncDirtyMap * dirtyMap() const
Combined button and popup list for selecting options.
#define Q_DECLARE_LOGGING_CATEGORY(name)
static ControlElement< T > * ptr(QWidget *widget)
GLint GLint GLint GLint GLint x
[0]
GLfloat GLfloat GLfloat w
[0]
GLint GLsizei GLsizei height
const void GLsizei GLsizei stride
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
GLfloat GLfloat GLfloat GLfloat h
gzip write("uncompressed data")