XPixelBuffer. This commit partially reverts the changes from r2567. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2575 3789f03b-4d11-0410-bbf8-ca57d06f2519tags/v0.0.90
@@ -43,24 +43,24 @@ const int PollingManager::m_pollingOrder[32] = { | |||
// | |||
// Constructor. | |||
// | |||
// Note that dpy and buffer should remain valid during the object | |||
// Note that dpy and image should remain valid during the object | |||
// lifetime, while factory is used only in the constructor itself. | |||
// | |||
PollingManager::PollingManager(Display *dpy, XPixelBuffer *buffer, | |||
PollingManager::PollingManager(Display *dpy, const Image *image, | |||
ImageFactory *factory, | |||
int offsetLeft, int offsetTop) | |||
: m_dpy(dpy), | |||
m_image(buffer->getImage()), | |||
m_bytesPerPixel(buffer->getPF().bpp / 8), | |||
m_image(image), | |||
m_bytesPerPixel(image->xim->bits_per_pixel / 8), | |||
m_offsetLeft(offsetLeft), | |||
m_offsetTop(offsetTop), | |||
m_width(buffer->width()), | |||
m_height(buffer->height()), | |||
m_widthTiles((buffer->width() + 31) / 32), | |||
m_heightTiles((buffer->height() + 31) / 32), | |||
m_numTiles(((buffer->width() + 31) / 32) * | |||
((buffer->height() + 31) / 32)), | |||
m_width(image->xim->width), | |||
m_height(image->xim->height), | |||
m_widthTiles((image->xim->width + 31) / 32), | |||
m_heightTiles((image->xim->height + 31) / 32), | |||
m_numTiles(((image->xim->width + 31) / 32) * | |||
((image->xim->height + 31) / 32)), | |||
m_pollingStep(0) | |||
{ | |||
// Create additional images used in polling algorithm, warn if |
@@ -27,7 +27,6 @@ | |||
#include <rfb/VNCServer.h> | |||
#include <x0vncserver/Image.h> | |||
#include <x0vncserver/XPixelBuffer.h> | |||
#ifdef DEBUG | |||
#include <x0vncserver/TimeMillis.h> | |||
@@ -39,7 +38,7 @@ class PollingManager { | |||
public: | |||
PollingManager(Display *dpy, XPixelBuffer *buffer, ImageFactory *factory, | |||
PollingManager(Display *dpy, const Image *image, ImageFactory *factory, | |||
int offsetLeft = 0, int offsetTop = 0); | |||
virtual ~PollingManager(); | |||
@@ -39,11 +39,8 @@ public: | |||
const Rect &rect, ColourMap* cm); | |||
virtual ~XPixelBuffer(); | |||
// We allow public access to the underlying Image object. | |||
// The image is heavily used by the PollingManager. | |||
// TODO: Allow read-only (const Image *) access only. | |||
// Or better do not allow public access at all. | |||
virtual Image *getImage() const { return m_image; } | |||
// Provide access to the underlying Image object. | |||
virtual const Image *getImage() const { return m_image; } | |||
// Override PixelBuffer::getStride(). | |||
virtual int getStride() const { return m_stride; } |
@@ -187,7 +187,7 @@ public: | |||
server->setPixelBuffer(pb); | |||
// Create polling manager object for detection of pixel changes. | |||
pollmgr = new PollingManager(dpy, pb, &factory, | |||
pollmgr = new PollingManager(dpy, pb->getImage(), &factory, | |||
geometry->offsetLeft(), | |||
geometry->offsetTop()); | |||
running = true; |