Refactoring: now PollingManager is owned by XPixelBuffer. No other classes
know about PollingManager.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2576 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/unix/x0vncserver/XPixelBuffer.h b/unix/x0vncserver/XPixelBuffer.h
index 3632f80..29ae94a 100644
--- a/unix/x0vncserver/XPixelBuffer.h
+++ b/unix/x0vncserver/XPixelBuffer.h
@@ -24,7 +24,9 @@
#define __XPIXELBUFFER_H__
#include <rfb/PixelBuffer.h>
+#include <rfb/VNCServer.h>
#include <x0vncserver/Image.h>
+#include <x0vncserver/PollingManager.h>
using namespace rfb;
@@ -40,7 +42,10 @@
virtual ~XPixelBuffer();
// Provide access to the underlying Image object.
- virtual const Image *getImage() const { return m_image; }
+ const Image *getImage() const { return m_image; }
+
+ // Detect changed pixels, notify the server.
+ inline void poll(VNCServer *server) { m_poller->poll(server); }
// Override PixelBuffer::getStride().
virtual int getStride() const { return m_stride; }
@@ -49,6 +54,8 @@
virtual void grabRegion(const rfb::Region& region);
protected:
+ PollingManager *m_poller;
+
Display *m_dpy;
Image* m_image;
int m_offsetLeft;