Handle VNC framebuffer size changes correctly. Such changes are for example used...
[kdenetwork.git] / krfb / framebuffer.h
blob7882eae889f09623068d72151f8092cdb4991296
1 /* This file is part of the KDE project
2 Copyright (C) 2007 Alessandro Praduroux <pradu@pradu.it>
4 This program is free software; you can redistribute it and/or
5 modify it under the terms of the GNU General Public
6 License as published by the Free Software Foundation; either
7 version 2 of the License, or (at your option) any later version.
8 */
10 #ifndef FRAMEBUFFER_H
11 #define FRAMEBUFFER_H
13 #include <QObject>
14 #include <QRect>
15 #include <QList>
16 #include <QWidget>
18 #include <rfb/rfb.h>
20 class FrameBuffer;
21 /**
22 @author Alessandro Praduroux <pradu@pradu.it>
24 class FrameBuffer : public QObject
26 Q_OBJECT
27 public:
29 static FrameBuffer* getFrameBuffer(WId id, QObject *parent);
31 virtual ~FrameBuffer();
33 char * data();
35 virtual QList<QRect> modifiedTiles();
36 virtual int paddedWidth();
37 virtual int width();
38 virtual int height();
39 virtual int depth();
40 virtual void startMonitor();
41 virtual void stopMonitor();
43 virtual void getServerFormat(rfbPixelFormat &format);
45 protected:
46 explicit FrameBuffer(WId id, QObject *parent = 0);
48 WId win;
49 char *fb;
50 QList<QRect> tiles;
54 #endif