mirror of
https://invent.kde.org/network/krfb
synced 2024-07-08 12:05:49 +00:00
Uses less cpu than Qt approach, but visually sucks. I suspect there are too many updates sent to the client, I need to group the rects and create a bigger one when sending the event to the client. svn path=/trunk/KDE/kdenetwork/krfb/; revision=653073
53 lines
1.0 KiB
C++
53 lines
1.0 KiB
C++
/* This file is part of the KDE project
|
|
Copyright (C) 2007 Alessandro Praduroux <pradu@pradu.it>
|
|
|
|
This program is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU General Public
|
|
License as published by the Free Software Foundation; version 2
|
|
of the License.
|
|
*/
|
|
|
|
#ifndef FRAMEBUFFER_H
|
|
#define FRAMEBUFFER_H
|
|
|
|
#include <QObject>
|
|
#include <QRect>
|
|
#include <QVector>
|
|
#include <QWidget>
|
|
|
|
#include <rfb/rfb.h>
|
|
|
|
class FrameBuffer;
|
|
/**
|
|
@author Alessandro Praduroux <pradu@pradu.it>
|
|
*/
|
|
class FrameBuffer : public QObject
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
|
|
static FrameBuffer* getFrameBuffer(WId id, QObject *parent);
|
|
|
|
virtual ~FrameBuffer();
|
|
|
|
char * data();
|
|
|
|
QVector<QRect> &modifiedTiles();
|
|
virtual int paddedWidth();
|
|
virtual int width();
|
|
virtual int height();
|
|
virtual int depth();
|
|
|
|
virtual void getServerFormat(rfbPixelFormat &format);
|
|
|
|
protected:
|
|
explicit FrameBuffer(WId id, QObject *parent = 0);
|
|
|
|
WId win;
|
|
char *fb;
|
|
QVector<QRect> tiles;
|
|
|
|
};
|
|
|
|
#endif
|