diff --git a/unix/x0vncserver/Geometry.h b/unix/x0vncserver/Geometry.h
index 3e5f23b..82da9c6 100644
--- a/unix/x0vncserver/Geometry.h
+++ b/unix/x0vncserver/Geometry.h
@@ -37,17 +37,23 @@
   int height() const { return m_rect.height(); }
   int offsetLeft() const { return m_rect.tl.x; }
   int offsetTop() const { return m_rect.tl.y; }
-
   const Rect& getRect() const { return m_rect; }
 
+  bool isVideoAreaSet() const { return !m_videoRect.is_empty(); }
+  const Rect& getVideoRect() const { return m_videoRect; }
+
 protected:
   // Parse a string, extract size and coordinates,
   // and return that rectangle clipped to m_rect.
   Rect parseString(const char *arg) const;
 
   static StringParameter m_geometryParam;
+  static StringParameter m_videoAreaParam;
 
+  int m_fullWidth;
+  int m_fullHeight;
   Rect m_rect;
+  Rect m_videoRect;
 };
 
 #endif // __GEOMETRY_H__
