diff --git a/unix/x0vncserver/PollingManager.h b/unix/x0vncserver/PollingManager.h
index a67901b..0d9e90e 100644
--- a/unix/x0vncserver/PollingManager.h
+++ b/unix/x0vncserver/PollingManager.h
@@ -97,10 +97,20 @@
                  r.width(), r.height(), r.tl.x, r.tl.y);
   }
 
-  inline void getRow(int y) {
+  inline void getFullRow(int y) {
     m_rowImage->get(DefaultRootWindow(m_dpy), m_offsetLeft, m_offsetTop + y);
   }
 
+  inline void getRow(int x, int y, int w) {
+    m_rowImage->get(DefaultRootWindow(m_dpy),
+                    m_offsetLeft + x, m_offsetTop + y, w, 1);
+  }
+
+  inline void getColumn(int x, int y, int h) {
+    m_rowImage->get(DefaultRootWindow(m_dpy),
+                    m_offsetLeft + x, m_offsetTop + y, 1, h);
+  }
+
   inline void getTile32(int tx, int ty, int w, int h) {
     if (w == 32 && h == 32) {
       // This version of get() may be better optimized.
@@ -125,6 +135,8 @@
     }
   }
 
+  int checkRow(int x, int y, int w, bool *pmxChanged);
+
   void adjustVideoArea();
 
   void getVideoAreaRect(Rect *result);
